打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

首页:修订间差异

来自江中缘
Jzyfate​(留言 | 贡献)
无编辑摘要
Jzyfate​(留言 | 贡献)
无编辑摘要
 
第567行: 第567行:
   }
   }
}
}
/* ===== 首页右上角站内搜索:开始 ===== */
.jzy-home-search{
  position:fixed;
  top:76px;
  right:64px;
  z-index:61; /* 搜索建议位于侧边导航(60)之上,低于皮肤弹层。 */
  box-sizing:border-box;
  width:320px;
  max-width:calc(100vw - 32px);
  margin:0;
  padding:0;
  border:1px solid rgba(178,235,246,.22);
  border-radius:14px;
  background:rgba(7,52,63,.48);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(8px) saturate(118%);
  -webkit-backdrop-filter:blur(8px) saturate(118%);
  font-family:"HarmonyOS Sans SC","MiSans","Microsoft YaHei",sans-serif;
}
.jzy-home-search:focus-within,
.jzy-home-search.is-open{background:rgba(7,52,63,.78);border-color:rgba(178,235,246,.35)}
.jzy-home-search-bar{display:flex;align-items:center;gap:0;padding:3px}
.jzy-home-search-label{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip-path:inset(50%);white-space:nowrap;
}
.jzy-home-search input[type="search"]{
  flex:1;box-sizing:border-box;min-width:0;width:100%;min-height:44px;
  margin:0;padding:8px 12px;border:0;border-radius:10px;background:transparent;
  color:#f3fbff;font:inherit;font-size:16px;line-height:1.5;
  text-shadow:0 1px 3px rgba(1,18,28,.65);appearance:none;-webkit-appearance:none;
}
.jzy-home-search input[type="search"]::placeholder{color:#e3f5f6;opacity:1}
.jzy-home-search button{
  flex-shrink:0;min-height:44px;margin:0;padding:8px 13px;border:0;
  border-left:1px solid rgba(178,235,246,.18);border-radius:0 10px 10px 0;
  background:transparent;color:#fff4c7;font:inherit;font-size:14px;font-weight:700;
  line-height:1.5;white-space:nowrap;cursor:pointer;text-shadow:0 1px 3px rgba(1,18,28,.65);
}
.jzy-home-search button:hover{background:rgba(244,207,120,.10)}
.jzy-home-search button:active{background:rgba(244,207,120,.17)}
.jzy-home-search input[type="search"]:focus-visible,
.jzy-home-search button:focus-visible,
.jzy-home-search-suggestions a:focus-visible{outline:2px solid #fff4c7;outline-offset:-2px}
.jzy-home-search-suggestions{padding:0 10px 8px;border-top:1px solid rgba(178,235,246,.14)}
.jzy-home-search-suggestions[hidden]{display:none!important}
.jzy-home-search-status{padding:10px 4px 6px;color:#d5edf5;font-size:13px;line-height:1.6}
.jzy-home-search-list{
  max-height:min(48vh,360px);margin:0!important;padding:0!important;
  list-style:none!important;overflow-y:auto;overscroll-behavior:contain;
}
.jzy-home-search-list li{margin:0!important;padding:0!important;list-style:none!important}
.jzy-home-search-suggestions .jzy-home-search-result{
  display:block;box-sizing:border-box;min-height:44px;margin:0;padding:10px;
  border-radius:8px;background:transparent;color:#f3fbff!important;
  font-size:15px;line-height:1.6;text-decoration:none!important;overflow-wrap:anywhere;
}
.jzy-home-search-suggestions .jzy-home-search-result:hover,
.jzy-home-search-suggestions .jzy-home-search-result[aria-selected="true"]{background:rgba(120,216,240,.14)}
.jzy-home-search-result mark{padding:0;background:transparent;color:#fff4c7;font-weight:800}
.jzy-home-search-suggestions .jzy-home-search-all{
  display:block;min-height:24px;margin-top:6px;padding:9px 4px 4px;
  border-top:1px solid rgba(178,235,246,.14);color:#fff4c7!important;
  font-size:13px;line-height:1.6;text-decoration:none!important;
}
.jzy-home-search-all:hover{text-decoration:underline!important;text-underline-offset:3px}
@media(max-width:1480px){.jzy-home-search{right:52px}}
@media(max-width:1279px){.jzy-home-search{right:24px}}
@media(max-width:560px){
  .jzy-home-search{top:72px;right:16px;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
  .jzy-home-search-list{max-height:min(45vh,320px)}
}
@media(prefers-reduced-transparency:reduce){
  .jzy-home-search,.jzy-home-search:focus-within,.jzy-home-search.is-open{
    background:#07343f;backdrop-filter:none;-webkit-backdrop-filter:none;
  }
}
/* ===== 首页右上角站内搜索:结束 ===== */
</style>
</style>
<!-- 首页右上角站内搜索:开始 -->
<form class="jzy-home-search" role="search" aria-label="搜索江中缘 Wiki" action="/index.php" method="get">
  <input type="hidden" name="title" value="Special:Search">
  <input type="hidden" name="fulltext" value="1">
  <div class="jzy-home-search-bar">
    <label class="jzy-home-search-label" for="jzy-home-search-input">搜索关键词</label>
    <input id="jzy-home-search-input" type="search" name="search" role="combobox" aria-autocomplete="list" aria-expanded="false" aria-controls="jzy-home-search-list" autocomplete="off" placeholder="搜索 Wiki 内容" maxlength="200" required>
    <button type="submit">搜索</button>
  </div>
  <div class="jzy-home-search-suggestions" hidden>
    <div class="jzy-home-search-status" role="status" aria-live="polite"></div>
    <ul id="jzy-home-search-list" class="jzy-home-search-list" role="listbox" aria-label="相关 Wiki 页面"></ul>
    <a class="jzy-home-search-all" href="/index.php?title=Special:Search">查看全部搜索结果</a>
  </div>
</form>
<script>
/* 首页站内搜索联想:标题优先,再补充正文匹配;不依赖外部服务。 */
(function () {
  function initHomeSearch() {
    var form = document.querySelector('.jzy-home-search');
    if (!form || form.dataset.searchReady) return;
    form.dataset.searchReady = 'true';
    var input = form.querySelector('input[type="search"]');
    var panel = form.querySelector('.jzy-home-search-suggestions');
    var status = form.querySelector('.jzy-home-search-status');
    var list = form.querySelector('.jzy-home-search-list');
    var all = form.querySelector('.jzy-home-search-all');
    var timer, controller, serial = 0, active = -1, composing = false;
    var cache = new Map();
    function pageUrl(title) {
      var url = new URL(form.action, window.location.href);
      url.search = '';
      url.searchParams.set('title', title);
      return url.href;
    }
    function searchUrl(query) {
      var url = new URL(pageUrl('Special:Search'));
      url.searchParams.set('fulltext', '1');
      url.searchParams.set('search', query);
      return url.href;
    }
    function select(index) {
      var options = list.querySelectorAll('[role="option"]');
      active = index;
      options.forEach(function (option, i) { option.setAttribute('aria-selected', String(i === index)); });
      if (options[index]) {
        input.setAttribute('aria-activedescendant', options[index].id);
        options[index].scrollIntoView({ block:'nearest' });
      } else input.removeAttribute('aria-activedescendant');
    }
    function hide() {
      panel.hidden = true;
      form.classList.remove('is-open');
      input.setAttribute('aria-expanded', 'false');
      select(-1);
    }
    function show(query, message) {
      list.replaceChildren();
      active = -1;
      input.removeAttribute('aria-activedescendant');
      status.textContent = message;
      all.href = searchUrl(query);
      panel.hidden = false;
      form.classList.add('is-open');
      input.setAttribute('aria-expanded', 'true');
    }
    function render(query, pages) {
      show(query, pages.length ? '相关页面' : '暂未找到相关页面,可查看全部搜索结果。');
      pages.forEach(function (page, index) {
        var li = document.createElement('li');
        li.setAttribute('role', 'presentation');
        var link = document.createElement('a');
        link.className = 'jzy-home-search-result';
        link.id = 'jzy-home-search-option-' + index;
        link.href = pageUrl(page.title);
        link.setAttribute('role', 'option');
        link.setAttribute('aria-selected', 'false');
        var at = page.title.toLocaleLowerCase().indexOf(query.toLocaleLowerCase());
        if (at < 0) link.textContent = page.title;
        else {
          link.appendChild(document.createTextNode(page.title.slice(0, at)));
          var mark = document.createElement('mark');
          mark.textContent = page.title.slice(at, at + query.length);
          link.appendChild(mark);
          link.appendChild(document.createTextNode(page.title.slice(at + query.length)));
        }
        li.appendChild(link);
        list.appendChild(li);
      });
    }
    function request(query, kind, signal) {
      var endpoint = window.mw && mw.util && mw.util.wikiScript ? mw.util.wikiScript('api') : '/api.php';
      var url = new URL(endpoint, window.location.href);
      var params = { action:'query', list:'search', srsearch:query, srwhat:kind, srnamespace:'0', srlimit:'10', srprop:'', format:'json', formatversion:'2' };
      Object.keys(params).forEach(function (key) { url.searchParams.set(key, params[key]); });
      return fetch(url.href, { signal:signal, credentials:'same-origin' }).then(function (response) {
        if (!response.ok) throw new Error('Search request failed');
        return response.json();
      }).then(function (data) {
        if (data.error || !data.query || !Array.isArray(data.query.search)) throw new Error('Search response invalid');
        return data.query.search;
      });
    }
    function schedule() {
      window.clearTimeout(timer);
      if (controller) controller.abort();
      var ticket = ++serial;
      var query = input.value.trim();
      if (composing || !query) { hide(); return; }
      if (cache.has(query)) { render(query, cache.get(query)); return; }
      show(query, '正在搜索…');
      timer = window.setTimeout(function () {
        controller = new AbortController();
        var controllerForRequest = controller;
        var signal = controllerForRequest.signal;
        var timeout = window.setTimeout(function () { if (!signal.aborted) controllerForRequest.abort(); }, 8000);
        Promise.allSettled([request(query, 'title', signal), request(query, 'text', signal)]).then(function (responses) {
          if (ticket !== serial || !form.contains(document.activeElement)) return;
          var pages = [], seen = new Set(), successes = 0;
          responses.forEach(function (response) {
            if (response.status !== 'fulfilled') return;
            successes++;
            response.value.forEach(function (page) {
              if (typeof page.title !== 'string' || page.ns !== 0 || seen.has(page.title) || pages.length >= 10) return;
              seen.add(page.title);
              pages.push(page);
            });
          });
          if (!successes) throw new Error('Search unavailable');
          if (successes === 2) {
            if (cache.size >= 30) cache.delete(cache.keys().next().value);
            cache.set(query, pages);
          }
          render(query, pages);
        }).catch(function () {
          if (ticket === serial && form.contains(document.activeElement)) show(query, '暂时无法加载建议,可按回车搜索。');
        }).finally(function () { window.clearTimeout(timeout); });
      }, 240);
    }
    input.addEventListener('input', schedule);
    input.addEventListener('focus', function () { if (input.value.trim()) schedule(); });
    input.addEventListener('click', function () { if (panel.hidden && input.value.trim()) schedule(); });
    input.addEventListener('compositionstart', function () { composing = true; schedule(); });
    input.addEventListener('compositionend', function () { composing = false; schedule(); });
    input.addEventListener('keydown', function (event) {
      if (composing || event.isComposing || event.keyCode === 229) return;
      if (event.key === 'Escape') { event.preventDefault(); window.clearTimeout(timer); if (controller) controller.abort(); ++serial; hide(); return; }
      var options = list.querySelectorAll('[role="option"]');
      if ((event.key === 'ArrowDown' || event.key === 'ArrowUp') && options.length && !panel.hidden) {
        event.preventDefault();
        select(event.key === 'ArrowDown' ? (active + 1) % options.length : (active < 0 ? options.length - 1 : (active - 1 + options.length) % options.length));
      } else if (event.key === 'Enter' && active >= 0 && !panel.hidden && options[active]) {
        event.preventDefault();
        window.location.assign(options[active].href);
      }
    });
    form.addEventListener('submit', function (event) {
      input.value = input.value.trim();
      if (!input.value) { event.preventDefault(); input.focus(); hide(); }
    });
    function dismiss() { window.clearTimeout(timer); if (controller) controller.abort(); ++serial; hide(); }
    document.addEventListener('pointerdown', function (event) { if (!form.contains(event.target)) dismiss(); });
    form.addEventListener('focusout', function () {
      window.setTimeout(function () { if (!form.contains(document.activeElement)) dismiss(); }, 0);
    });
  }
  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', initHomeSearch);
  else initHomeSearch();
})();
</script>
<!-- 首页右上角站内搜索:结束 -->
<div class="jzy-side-toc">
<div class="jzy-side-toc">
   <div class="jzy-side-toc-title">江中缘导航</div>
   <div class="jzy-side-toc-title">江中缘导航</div>

2026年10月19日 (一) 05:33的最新版本


海岛经营 · MMORPG · 多人社区
《我的世界》网易 Java 游戏版服务器官方百科

关于江中缘

江中缘是一款历经四年精心打造的《我的世界:网易Java版》海岛经营结合高版本特性的社区趣味多人 MMORPG 服务器。玩家从一座废弃已久的海岛度假庄园启程,白手起家,解锁超过 10000+ 全新物品道具,一步步打造属于自己的商业版图。

服务器融合了类似 Hypixel Skyblock 的核心内容——采集资源、提升技能、挑战首领、开拓岛屿区域,享受深度成长的乐趣。此外,服务器内置了多款自研游戏,随时与好友来一场轻松的对决或合作。

服务器特色:

10000+
全新道具
多人联机
趣味互动
随机地牢
挑战宝藏
自研游戏
独家玩法

游戏资讯

游戏基础

核心玩法

🏝️ 海岛经营
从废弃度假庄园启程
打造商业帝国
⚔️ 随机地牢
挑战隐秘地牢
获取稀有装备
🌱 技能成长
采集资源提升技能
深度成长乐趣
🎮 自研游戏
多款自研游戏
与好友对决合作

快速入门

1
加入服务器
网易Java版
搜索「江中缘」
2
领取海岛
前往中心岛
与NPC对话
3
开始经营
布置庄园
接待旅客
4
探索冒险
挑战地牢
获取宝藏

江中缘·内容更新前瞻

后续内容规划;已上线内容请查看更新日志。

v1.4 更新计划

  1. 战斗更新 · PART.1

    物品技能拓展

    拓展法术伤害赛道
    新增近百个技能类型

  2. 全新玩法

    全新地图 · 妙趣庄园

    开放全新模拟经营海岛
    开启属于你的庄园生活

v1.5 更新计划

  1. 宠物测试

    宠物玩法初体验

    全新宠物玩法投入测试
    庄园解锁店铺:宠物孵化室

  2. 战斗更新 · PART.2

    怪物机制与数值平衡

    修复移动模式、攻击频率
    适配全服战斗机制与算法

v1.6 更新计划

  1. 钓鱼更新 · PART.1

    海怪玩法与图鉴

    规整海怪玩法
    解锁海怪图鉴

  2. 钓鱼更新 · PART.2

    夏日海盗船

    全新服务器季节事件
    开放时机随季节与开发调整

  3. 事件更新

    事件体验焕新

    优化算法逻辑,改善体验
    新增神秘事件类型

v1.7 更新计划

  1. 地牢更新

    全新下潜等级 · Level II

    开放地牢全新难度层级
    同步优化地牢职业体验

更多后续计划

具体内容待公布

  • 宠物更新 · PART.2
  • 庄园更新 · PART.2
  • 钓鱼更新 · PART.3
  • 战斗更新 · PART.3
  • 地牢更新 · PART.2
  • 全新岛屿 · 焚炎下界

持续优化

我们将持续关注服务器实时运行情况与玩家反馈,追踪并修复各类问题,不断改善游戏体验。

版本更新顺序、版本号及更新内容将根据实际开发情况调整,最终以服务器公告为准。