Compare commits
2 Commits
ad5cdf1c64
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
032ef02ec8 | ||
|
|
f8c8b1141d |
8
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
8
.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,8 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="JavadocReference" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="REPORT_INACCESSIBLE" value="false" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
||||
@@ -4,7 +4,7 @@ plugins {
|
||||
}
|
||||
|
||||
group = 'com.playerblocklife'
|
||||
version = '2.2.0-1.20.4'
|
||||
version = '2.2.2-1.20.4'
|
||||
|
||||
sourceCompatibility = 17
|
||||
targetCompatibility = 17
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
build/classes/java/main/com/playerblocklife/PBLCommands.class
Normal file
BIN
build/classes/java/main/com/playerblocklife/PBLCommands.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (21) -->
|
||||
<title>GameStateManager.GameState (PlayerBlockLife 2.2.0-alpha-1.20.4 API)</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="declaration: package: com.playerblocklife, class: GameStateManager, enum: GameState">
|
||||
<meta name="generator" content="javadoc/ClassWriterImpl">
|
||||
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
|
||||
<script type="text/javascript" src="../../script.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">var pathtoroot = "../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<div class="flex-box">
|
||||
<header role="banner" class="flex-header">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="切换导航链接"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button>
|
||||
<div class="skip-nav"><a href="#skip-navbar-top" title="跳过导航链接">跳过导航链接</a></div>
|
||||
<ul id="navbar-top-firstrow" class="nav-list" title="导航">
|
||||
<li><a href="package-summary.html">程序包</a></li>
|
||||
<li class="nav-bar-cell1-rev">类</li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../index-all.html">索引</a></li>
|
||||
<li><a href="../../help-doc.html#class">帮助</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list-small">
|
||||
<li>
|
||||
<p>概要:</p>
|
||||
<ul>
|
||||
<li><a href="#nested-class-summary">嵌套</a></li>
|
||||
<li><a href="#enum-constant-summary">枚举常量</a></li>
|
||||
<li>字段</li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>详细资料:</p>
|
||||
<ul>
|
||||
<li><a href="#enum-constant-detail">枚举常量</a></li>
|
||||
<li>字段</li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div id="navbar-sub-list">
|
||||
<ul class="sub-nav-list">
|
||||
<li>概要: </li>
|
||||
<li><a href="#nested-class-summary">嵌套</a> | </li>
|
||||
<li><a href="#enum-constant-summary">枚举常量</a> | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list">
|
||||
<li>详细资料: </li>
|
||||
<li><a href="#enum-constant-detail">枚举常量</a> | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
|
||||
<input type="text" id="search-input" disabled placeholder="搜索">
|
||||
<input type="reset" id="reset-button" disabled value="reset">
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="flex-content">
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="sub-title"><span class="package-label-in-type">程序包</span> <a href="package-summary.html">com.playerblocklife</a></div>
|
||||
<h1 title="枚举类 GameStateManager.GameState" class="title">枚举类 GameStateManager.GameState</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="继承树"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">java.lang.Object</a>
|
||||
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html" title="java.lang中的类或接口" class="external-link">java.lang.Enum</a><<a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a>>
|
||||
<div class="inheritance">com.playerblocklife.GameStateManager.GameState</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>所有已实现的接口:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/io/Serializable.html" title="java.io中的类或接口" class="external-link">Serializable</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Comparable.html" title="java.lang中的类或接口" class="external-link">Comparable</a><<a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a>></code>, <code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/constant/Constable.html" title="java.lang.constant中的类或接口" class="external-link">Constable</a></code></dd>
|
||||
</dl>
|
||||
<dl class="notes">
|
||||
<dt>封闭类:</dt>
|
||||
<dd><code><a href="GameStateManager.html" title="com.playerblocklife中的类">GameStateManager</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public static enum </span><span class="element-name type-name-label">GameStateManager.GameState</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html" title="java.lang中的类或接口" class="external-link">Enum</a><<a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a>></span></div>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||||
<li>
|
||||
<section class="nested-class-summary" id="nested-class-summary">
|
||||
<h2>嵌套类概要</h2>
|
||||
<div class="inherited-list">
|
||||
<h2 id="nested-classes-inherited-from-class-java.lang.Enum">从类继承的嵌套类/接口 java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html" title="java.lang中的类或接口" class="external-link">Enum</a></h2>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="java.lang中的类或接口" class="external-link">Enum.EnumDesc</a><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="java.lang中的类或接口" class="external-link">E</a> extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html" title="java.lang中的类或接口" class="external-link">Enum</a><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.EnumDesc.html" title="java.lang中的类或接口" class="external-link">E</a>>></code></div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- =========== ENUM CONSTANT SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="constants-summary" id="enum-constant-summary">
|
||||
<h2>枚举常量概要</h2>
|
||||
<div class="caption"><span>枚举常量</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">枚举常量</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-first even-row-color"><code><a href="#FINISHED" class="member-name-link">FINISHED</a></code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><code><a href="#STARTED" class="member-name-link">STARTED</a></code></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
<div class="col-first even-row-color"><code><a href="#WAITING" class="member-name-link">WAITING</a></code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="method-summary" id="method-summary">
|
||||
<h2>方法概要</h2>
|
||||
<div id="method-summary-table">
|
||||
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">所有方法</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">静态方法</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">具体方法</button></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">修饰符和类型</div>
|
||||
<div class="table-header col-second">方法</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#valueOf(java.lang.String)" class="member-name-link">valueOf</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a> name)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">返回带有指定名称的该类的枚举常量。</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a>[]</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#values()" class="member-name-link">values</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
|
||||
<div class="block">返回包含该枚举类的常量的数组,
|
||||
顺序与声明这些常量的顺序相同</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Enum">从类继承的方法 java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html" title="java.lang中的类或接口" class="external-link">Enum</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#clone()" title="java.lang中的类或接口" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#compareTo(E)" title="java.lang中的类或接口" class="external-link">compareTo</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#describeConstable()" title="java.lang中的类或接口" class="external-link">describeConstable</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#equals(java.lang.Object)" title="java.lang中的类或接口" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#finalize()" title="java.lang中的类或接口" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#getDeclaringClass()" title="java.lang中的类或接口" class="external-link">getDeclaringClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#hashCode()" title="java.lang中的类或接口" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#name()" title="java.lang中的类或接口" class="external-link">name</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#ordinal()" title="java.lang中的类或接口" class="external-link">ordinal</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#toString()" title="java.lang中的类或接口" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Enum.html#valueOf(java.lang.Class,java.lang.String)" title="java.lang中的类或接口" class="external-link">valueOf</a></code></div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">从类继承的方法 java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="java.lang中的类或接口" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="java.lang中的类或接口" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="java.lang中的类或接口" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="java.lang中的类或接口" class="external-link">wait</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="details">
|
||||
<ul class="details-list">
|
||||
<!-- ============ ENUM CONSTANT DETAIL =========== -->
|
||||
<li>
|
||||
<section class="constant-details" id="enum-constant-detail">
|
||||
<h2>枚举常量详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="WAITING">
|
||||
<h3>WAITING</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></span> <span class="element-name">WAITING</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="STARTED">
|
||||
<h3>STARTED</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></span> <span class="element-name">STARTED</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="FINISHED">
|
||||
<h3>FINISHED</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static final</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></span> <span class="element-name">FINISHED</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<li>
|
||||
<section class="method-details" id="method-detail">
|
||||
<h2>方法详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="values()">
|
||||
<h3>values</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a>[]</span> <span class="element-name">values</span>()</div>
|
||||
<div class="block">返回包含该枚举类的常量的数组,
|
||||
顺序与声明这些常量的顺序相同</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>包含该枚举类的常量的数组,顺序与声明这些常量的顺序相同</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="valueOf(java.lang.String)">
|
||||
<h3>valueOf</h3>
|
||||
<div class="member-signature"><span class="modifiers">public static</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></span> <span class="element-name">valueOf</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a> name)</span></div>
|
||||
<div class="block">返回带有指定名称的该类的枚举常量。
|
||||
字符串必须与用于声明该类的枚举常量的
|
||||
标识符<i>完全</i>匹配。(不允许有多余
|
||||
的空格字符。)</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>name</code> - 要返回的枚举常量的名称。</dd>
|
||||
<dt>返回:</dt>
|
||||
<dd>返回带有指定名称的枚举常量</dd>
|
||||
<dt>抛出:</dt>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/IllegalArgumentException.html" title="java.lang中的类或接口" class="external-link">IllegalArgumentException</a></code> - 如果该枚举类没有带有指定名称的常量</dd>
|
||||
<dd><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/NullPointerException.html" title="java.lang中的类或接口" class="external-link">NullPointerException</a></code> - 如果参数为空值</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
503
build/docs/javadoc/com/playerblocklife/GameStateManager.html
Normal file
503
build/docs/javadoc/com/playerblocklife/GameStateManager.html
Normal file
@@ -0,0 +1,503 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (21) -->
|
||||
<title>GameStateManager (PlayerBlockLife 2.2.0-alpha-1.20.4 API)</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="declaration: package: com.playerblocklife, class: GameStateManager">
|
||||
<meta name="generator" content="javadoc/ClassWriterImpl">
|
||||
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
|
||||
<script type="text/javascript" src="../../script.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">var pathtoroot = "../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<div class="flex-box">
|
||||
<header role="banner" class="flex-header">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="切换导航链接"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button>
|
||||
<div class="skip-nav"><a href="#skip-navbar-top" title="跳过导航链接">跳过导航链接</a></div>
|
||||
<ul id="navbar-top-firstrow" class="nav-list" title="导航">
|
||||
<li><a href="package-summary.html">程序包</a></li>
|
||||
<li class="nav-bar-cell1-rev">类</li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../index-all.html">索引</a></li>
|
||||
<li><a href="../../help-doc.html#class">帮助</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list-small">
|
||||
<li>
|
||||
<p>概要:</p>
|
||||
<ul>
|
||||
<li><a href="#nested-class-summary">嵌套</a></li>
|
||||
<li>字段</li>
|
||||
<li><a href="#constructor-summary">构造器</a></li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>详细资料:</p>
|
||||
<ul>
|
||||
<li>字段</li>
|
||||
<li><a href="#constructor-detail">构造器</a></li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div id="navbar-sub-list">
|
||||
<ul class="sub-nav-list">
|
||||
<li>概要: </li>
|
||||
<li><a href="#nested-class-summary">嵌套</a> | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor-summary">构造器</a> | </li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor-detail">构造器</a> | </li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
|
||||
<input type="text" id="search-input" disabled placeholder="搜索">
|
||||
<input type="reset" id="reset-button" disabled value="reset">
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="flex-content">
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="sub-title"><span class="package-label-in-type">程序包</span> <a href="package-summary.html">com.playerblocklife</a></div>
|
||||
<h1 title="类 GameStateManager" class="title">类 GameStateManager</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="继承树"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">java.lang.Object</a>
|
||||
<div class="inheritance">com.playerblocklife.GameStateManager</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">GameStateManager</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">Object</a></span></div>
|
||||
<div class="block">游戏状态管理器 - PBL生存游戏模式的核心管理器
|
||||
|
||||
<p>主要功能包括:
|
||||
<ul>
|
||||
<li>管理游戏状态(等待中/游戏中/已结束)</li>
|
||||
<li>为非OP玩家分配独特颜色的生命方块</li>
|
||||
<li>处理游戏开始时的生命方块生成</li>
|
||||
<li>控制游戏开始和结束逻辑</li>
|
||||
<li>管理实时计分板显示(游戏状态、剩余方块、限时等)</li>
|
||||
<li>处理游戏重置和玩家淘汰</li>
|
||||
<li>监控游戏结束条件(仅剩一名存活玩家或限时结束)</li>
|
||||
</ul>
|
||||
|
||||
<p><b>游戏模式特性:</b>
|
||||
<ul>
|
||||
<li>OP玩家始终处于观察者模式,不参与游戏</li>
|
||||
<li>非OP玩家在等待时处于冒险模式,手中持有对应颜色方块</li>
|
||||
<li>游戏开始后非OP玩家转为生存模式并清空背包</li>
|
||||
<li>使用不同颜色的羊毛、玻璃、水泥方块作为生命方块</li>
|
||||
<li>支持限时游戏模式</li>
|
||||
<li>游戏结束时显示胜利玩家</li>
|
||||
</ul></div>
|
||||
<dl class="notes">
|
||||
<dt>从以下版本开始:</dt>
|
||||
<dd>4.0.0</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- ======== NESTED CLASS SUMMARY ======== -->
|
||||
<li>
|
||||
<section class="nested-class-summary" id="nested-class-summary">
|
||||
<h2>嵌套类概要</h2>
|
||||
<div class="caption"><span>嵌套类</span></div>
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">修饰符和类型</div>
|
||||
<div class="table-header col-second">类</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-first even-row-color"><code>static enum </code></div>
|
||||
<div class="col-second even-row-color"><code><a href="GameStateManager.GameState.html" class="type-name-link" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<li>
|
||||
<section class="constructor-summary" id="constructor-summary">
|
||||
<h2>构造器概要</h2>
|
||||
<div class="caption"><span>构造器</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">构造器</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(com.playerblocklife.PlayerBlockLife)" class="member-name-link">GameStateManager</a><wbr>(<a href="PlayerBlockLife.html" title="com.playerblocklife中的类">PlayerBlockLife</a> plugin)</code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="method-summary" id="method-summary">
|
||||
<h2>方法概要</h2>
|
||||
<div id="method-summary-table">
|
||||
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">所有方法</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">实例方法</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">具体方法</button></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">修饰符和类型</div>
|
||||
<div class="table-header col-second">方法</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#assignPlayerColor(org.bukkit.entity.Player)" class="member-name-link">assignPlayerColor</a><wbr>(org.bukkit.entity.Player player)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">为玩家分配颜色</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#checkGameEnd()" class="member-name-link">checkGameEnd</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">检查游戏是否结束</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clearPlayerBlocks(java.util.UUID)" class="member-name-link">clearPlayerBlocks</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">清除指定玩家的方块</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#generateLifeBlocksForPlayer(org.bukkit.entity.Player)" class="member-name-link">generateLifeBlocksForPlayer</a><wbr>(org.bukkit.entity.Player player)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">为玩家生成生命方块</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="java.util中的类或接口" class="external-link">List</a><wbr><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a>></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAlivePlayers()" class="member-name-link">getAlivePlayers</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取所有存活玩家</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getAlivePlayersCount()" class="member-name-link">getAlivePlayersCount</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取存活玩家数量</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getCurrentState()" class="member-name-link">getCurrentState</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGameDuration()" class="member-name-link">getGameDuration</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取游戏持续时间(分钟)</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>long</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getGameStartTime()" class="member-name-link">getGameStartTime</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取游戏开始时间戳</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="java.util中的类或接口" class="external-link">Map</a><wbr><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="java.util中的类或接口" class="external-link">List</a><org.bukkit.Location>></code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPlayerBlocks()" class="member-name-link">getPlayerBlocks</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取所有玩家的方块位置</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>org.bukkit.Material</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getPlayerColor(java.util.UUID)" class="member-name-link">getPlayerColor</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取玩家颜色</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>int</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRemainingBlocks(java.util.UUID)" class="member-name-link">getRemainingBlocks</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">获取玩家剩余方块数量</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isLimitedTime()" class="member-name-link">isLimitedTime</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">检查是否为限时游戏</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeBlock(org.bukkit.Location,org.bukkit.entity.Player)" class="member-name-link">removeBlock</a><wbr>(org.bukkit.Location location,
|
||||
org.bukkit.entity.Player breaker)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">移除被破坏的生命方块</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#resetGame()" class="member-name-link">resetGame</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">重置游戏</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setCurrentState(com.playerblocklife.GameStateManager.GameState)" class="member-name-link">setCurrentState</a><wbr>(<a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a> state)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startGame()" class="member-name-link">startGame</a>()</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">开始游戏</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#startTimedGame(int)" class="member-name-link">startTimedGame</a><wbr>(int minutes)</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">开始限时游戏</div>
|
||||
</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updatePlayerScoreboard(org.bukkit.entity.Player)" class="member-name-link">updatePlayerScoreboard</a><wbr>(org.bukkit.entity.Player player)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">更新玩家特定的计分板信息</div>
|
||||
</div>
|
||||
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
|
||||
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateScoreboard()" class="member-name-link">updateScoreboard</a>()</code></div>
|
||||
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
|
||||
<div class="block">更新计分板</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">从类继承的方法 java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="java.lang中的类或接口" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="java.lang中的类或接口" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="java.lang中的类或接口" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="java.lang中的类或接口" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="java.lang中的类或接口" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="java.lang中的类或接口" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="java.lang中的类或接口" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="java.lang中的类或接口" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="java.lang中的类或接口" class="external-link">wait</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="details">
|
||||
<ul class="details-list">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>构造器详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(com.playerblocklife.PlayerBlockLife)">
|
||||
<h3>GameStateManager</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">GameStateManager</span><wbr><span class="parameters">(<a href="PlayerBlockLife.html" title="com.playerblocklife中的类">PlayerBlockLife</a> plugin)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<li>
|
||||
<section class="method-details" id="method-detail">
|
||||
<h2>方法详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="getCurrentState()">
|
||||
<h3>getCurrentState</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a></span> <span class="element-name">getCurrentState</span>()</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="setCurrentState(com.playerblocklife.GameStateManager.GameState)">
|
||||
<h3>setCurrentState</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">setCurrentState</span><wbr><span class="parameters">(<a href="GameStateManager.GameState.html" title="com.playerblocklife 中的枚举类">GameStateManager.GameState</a> state)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="assignPlayerColor(org.bukkit.entity.Player)">
|
||||
<h3>assignPlayerColor</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">assignPlayerColor</span><wbr><span class="parameters">(org.bukkit.entity.Player player)</span></div>
|
||||
<div class="block">为玩家分配颜色</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>player</code> - 要分配颜色的玩家</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="generateLifeBlocksForPlayer(org.bukkit.entity.Player)">
|
||||
<h3>generateLifeBlocksForPlayer</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">generateLifeBlocksForPlayer</span><wbr><span class="parameters">(org.bukkit.entity.Player player)</span></div>
|
||||
<div class="block">为玩家生成生命方块</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>player</code> - 要生成生命方块的玩家</dd>
|
||||
<dt>返回:</dt>
|
||||
<dd>生成成功返回true,否则返回false</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="removeBlock(org.bukkit.Location,org.bukkit.entity.Player)">
|
||||
<h3>removeBlock</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">removeBlock</span><wbr><span class="parameters">(org.bukkit.Location location,
|
||||
org.bukkit.entity.Player breaker)</span></div>
|
||||
<div class="block">移除被破坏的生命方块</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>location</code> - 方块位置</dd>
|
||||
<dd><code>breaker</code> - 破坏方块的玩家</dd>
|
||||
<dt>返回:</dt>
|
||||
<dd>移除成功返回true,否则返回false</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="checkGameEnd()">
|
||||
<h3>checkGameEnd</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">checkGameEnd</span>()</div>
|
||||
<div class="block">检查游戏是否结束</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="startTimedGame(int)">
|
||||
<h3>startTimedGame</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">startTimedGame</span><wbr><span class="parameters">(int minutes)</span></div>
|
||||
<div class="block">开始限时游戏</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>minutes</code> - 游戏限时(分钟)</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="startGame()">
|
||||
<h3>startGame</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">startGame</span>()</div>
|
||||
<div class="block">开始游戏</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="resetGame()">
|
||||
<h3>resetGame</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">resetGame</span>()</div>
|
||||
<div class="block">重置游戏</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getRemainingBlocks(java.util.UUID)">
|
||||
<h3>getRemainingBlocks</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">getRemainingBlocks</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</span></div>
|
||||
<div class="block">获取玩家剩余方块数量</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>playerId</code> - 玩家UUID</dd>
|
||||
<dt>返回:</dt>
|
||||
<dd>玩家剩余方块数量</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getPlayerColor(java.util.UUID)">
|
||||
<h3>getPlayerColor</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">org.bukkit.Material</span> <span class="element-name">getPlayerColor</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</span></div>
|
||||
<div class="block">获取玩家颜色</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>playerId</code> - 玩家UUID</dd>
|
||||
<dt>返回:</dt>
|
||||
<dd>玩家的颜色材料</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="updateScoreboard()">
|
||||
<h3>updateScoreboard</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">updateScoreboard</span>()</div>
|
||||
<div class="block">更新计分板</div>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="updatePlayerScoreboard(org.bukkit.entity.Player)">
|
||||
<h3>updatePlayerScoreboard</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">updatePlayerScoreboard</span><wbr><span class="parameters">(org.bukkit.entity.Player player)</span></div>
|
||||
<div class="block">更新玩家特定的计分板信息</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>player</code> - 要更新计分板的玩家</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getAlivePlayersCount()">
|
||||
<h3>getAlivePlayersCount</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">getAlivePlayersCount</span>()</div>
|
||||
<div class="block">获取存活玩家数量</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>存活玩家数量</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getAlivePlayers()">
|
||||
<h3>getAlivePlayers</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="java.util中的类或接口" class="external-link">List</a><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a>></span> <span class="element-name">getAlivePlayers</span>()</div>
|
||||
<div class="block">获取所有存活玩家</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>存活玩家UUID列表</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getPlayerBlocks()">
|
||||
<h3>getPlayerBlocks</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html" title="java.util中的类或接口" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/List.html" title="java.util中的类或接口" class="external-link">List</a><org.bukkit.Location>></span> <span class="element-name">getPlayerBlocks</span>()</div>
|
||||
<div class="block">获取所有玩家的方块位置</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>玩家UUID到方块位置列表的映射</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="clearPlayerBlocks(java.util.UUID)">
|
||||
<h3>clearPlayerBlocks</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">void</span> <span class="element-name">clearPlayerBlocks</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html" title="java.util中的类或接口" class="external-link">UUID</a> playerId)</span></div>
|
||||
<div class="block">清除指定玩家的方块</div>
|
||||
<dl class="notes">
|
||||
<dt>参数:</dt>
|
||||
<dd><code>playerId</code> - 要清除方块的玩家UUID</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getGameDuration()">
|
||||
<h3>getGameDuration</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">int</span> <span class="element-name">getGameDuration</span>()</div>
|
||||
<div class="block">获取游戏持续时间(分钟)</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>游戏持续时间(分钟)</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="getGameStartTime()">
|
||||
<h3>getGameStartTime</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">long</span> <span class="element-name">getGameStartTime</span>()</div>
|
||||
<div class="block">获取游戏开始时间戳</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>游戏开始时间戳</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
<li>
|
||||
<section class="detail" id="isLimitedTime()">
|
||||
<h3>isLimitedTime</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">isLimitedTime</span>()</div>
|
||||
<div class="block">检查是否为限时游戏</div>
|
||||
<dl class="notes">
|
||||
<dt>返回:</dt>
|
||||
<dd>如果是限时游戏返回true,否则返回false</dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
198
build/docs/javadoc/com/playerblocklife/PBLCommands.html
Normal file
198
build/docs/javadoc/com/playerblocklife/PBLCommands.html
Normal file
@@ -0,0 +1,198 @@
|
||||
<!DOCTYPE HTML>
|
||||
<html lang="zh">
|
||||
<head>
|
||||
<!-- Generated by javadoc (21) -->
|
||||
<title>PBLCommands (PlayerBlockLife 2.2.0-alpha-1.20.4 API)</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="description" content="declaration: package: com.playerblocklife, class: PBLCommands">
|
||||
<meta name="generator" content="javadoc/ClassWriterImpl">
|
||||
<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
|
||||
<link rel="stylesheet" type="text/css" href="../../script-dir/jquery-ui.min.css" title="Style">
|
||||
<script type="text/javascript" src="../../script.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-3.7.1.min.js"></script>
|
||||
<script type="text/javascript" src="../../script-dir/jquery-ui.min.js"></script>
|
||||
</head>
|
||||
<body class="class-declaration-page">
|
||||
<script type="text/javascript">var pathtoroot = "../../";
|
||||
loadScripts(document, 'script');</script>
|
||||
<noscript>
|
||||
<div>您的浏览器已禁用 JavaScript。</div>
|
||||
</noscript>
|
||||
<div class="flex-box">
|
||||
<header role="banner" class="flex-header">
|
||||
<nav role="navigation">
|
||||
<!-- ========= START OF TOP NAVBAR ======= -->
|
||||
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="切换导航链接"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button>
|
||||
<div class="skip-nav"><a href="#skip-navbar-top" title="跳过导航链接">跳过导航链接</a></div>
|
||||
<ul id="navbar-top-firstrow" class="nav-list" title="导航">
|
||||
<li><a href="package-summary.html">程序包</a></li>
|
||||
<li class="nav-bar-cell1-rev">类</li>
|
||||
<li><a href="package-tree.html">树</a></li>
|
||||
<li><a href="../../index-all.html">索引</a></li>
|
||||
<li><a href="../../help-doc.html#class">帮助</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list-small">
|
||||
<li>
|
||||
<p>概要:</p>
|
||||
<ul>
|
||||
<li>嵌套</li>
|
||||
<li>字段</li>
|
||||
<li><a href="#constructor-summary">构造器</a></li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>
|
||||
<p>详细资料:</p>
|
||||
<ul>
|
||||
<li>字段</li>
|
||||
<li><a href="#constructor-detail">构造器</a></li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sub-nav">
|
||||
<div id="navbar-sub-list">
|
||||
<ul class="sub-nav-list">
|
||||
<li>概要: </li>
|
||||
<li>嵌套 | </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor-summary">构造器</a> | </li>
|
||||
<li><a href="#method-summary">方法</a></li>
|
||||
</ul>
|
||||
<ul class="sub-nav-list">
|
||||
<li>详细资料: </li>
|
||||
<li>字段 | </li>
|
||||
<li><a href="#constructor-detail">构造器</a> | </li>
|
||||
<li><a href="#method-detail">方法</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="nav-list-search"><a href="../../search.html">SEARCH</a>
|
||||
<input type="text" id="search-input" disabled placeholder="搜索">
|
||||
<input type="reset" id="reset-button" disabled value="reset">
|
||||
</div>
|
||||
</div>
|
||||
<!-- ========= END OF TOP NAVBAR ========= -->
|
||||
<span class="skip-nav" id="skip-navbar-top"></span></nav>
|
||||
</header>
|
||||
<div class="flex-content">
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="sub-title"><span class="package-label-in-type">程序包</span> <a href="package-summary.html">com.playerblocklife</a></div>
|
||||
<h1 title="类 PBLCommands" class="title">类 PBLCommands</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="继承树"><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">java.lang.Object</a>
|
||||
<div class="inheritance">com.playerblocklife.PBLCommands</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>所有已实现的接口:</dt>
|
||||
<dd><code>org.bukkit.command.CommandExecutor</code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">PBLCommands</span>
|
||||
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">Object</a>
|
||||
implements org.bukkit.command.CommandExecutor</span></div>
|
||||
<div class="block">PBL命令执行器 - 处理PBL游戏模式的专用命令
|
||||
|
||||
<p>提供PBL游戏模式的核心控制命令,包括:
|
||||
<ul>
|
||||
<li>/PBL start [时间] - 开始游戏,支持可选的限时模式</li>
|
||||
<li>/PBL rstgm - 重置游戏,重新分配玩家颜色</li>
|
||||
</ul>
|
||||
|
||||
<p>这些命令仅允许服务器管理员(OP)执行,用于控制PBL游戏的生命周期。</p></div>
|
||||
<dl class="notes">
|
||||
<dt>从以下版本开始:</dt>
|
||||
<dd>4.0.0</dd>
|
||||
</dl>
|
||||
</section>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
|
||||
<li>
|
||||
<section class="constructor-summary" id="constructor-summary">
|
||||
<h2>构造器概要</h2>
|
||||
<div class="caption"><span>构造器</span></div>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">构造器</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(com.playerblocklife.PlayerBlockLife)" class="member-name-link">PBLCommands</a><wbr>(<a href="PlayerBlockLife.html" title="com.playerblocklife中的类">PlayerBlockLife</a> plugin)</code></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
</div>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ========== METHOD SUMMARY =========== -->
|
||||
<li>
|
||||
<section class="method-summary" id="method-summary">
|
||||
<h2>方法概要</h2>
|
||||
<div id="method-summary-table">
|
||||
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">所有方法</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">实例方法</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">具体方法</button></div>
|
||||
<div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0">
|
||||
<div class="summary-table three-column-summary">
|
||||
<div class="table-header col-first">修饰符和类型</div>
|
||||
<div class="table-header col-second">方法</div>
|
||||
<div class="table-header col-last">说明</div>
|
||||
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
|
||||
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String%5B%5D)" class="member-name-link">onCommand</a><wbr>(org.bukkit.command.CommandSender sender,
|
||||
org.bukkit.command.Command command,
|
||||
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a> label,
|
||||
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a>[] args)</code></div>
|
||||
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inherited-list">
|
||||
<h3 id="methods-inherited-from-class-java.lang.Object">从类继承的方法 java.lang.<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html" title="java.lang中的类或接口" class="external-link">Object</a></h3>
|
||||
<code><a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#clone()" title="java.lang中的类或接口" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="java.lang中的类或接口" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#finalize()" title="java.lang中的类或接口" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#getClass()" title="java.lang中的类或接口" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#hashCode()" title="java.lang中的类或接口" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notify()" title="java.lang中的类或接口" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#notifyAll()" title="java.lang中的类或接口" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#toString()" title="java.lang中的类或接口" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait()" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long)" title="java.lang中的类或接口" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="java.lang中的类或接口" class="external-link">wait</a></code></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<section class="details">
|
||||
<ul class="details-list">
|
||||
<!-- ========= CONSTRUCTOR DETAIL ======== -->
|
||||
<li>
|
||||
<section class="constructor-details" id="constructor-detail">
|
||||
<h2>构造器详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="<init>(com.playerblocklife.PlayerBlockLife)">
|
||||
<h3>PBLCommands</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="element-name">PBLCommands</span><wbr><span class="parameters">(<a href="PlayerBlockLife.html" title="com.playerblocklife中的类">PlayerBlockLife</a> plugin)</span></div>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
<!-- ============ METHOD DETAIL ========== -->
|
||||
<li>
|
||||
<section class="method-details" id="method-detail">
|
||||
<h2>方法详细资料</h2>
|
||||
<ul class="member-list">
|
||||
<li>
|
||||
<section class="detail" id="onCommand(org.bukkit.command.CommandSender,org.bukkit.command.Command,java.lang.String,java.lang.String[])">
|
||||
<h3>onCommand</h3>
|
||||
<div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">onCommand</span><wbr><span class="parameters">(org.bukkit.command.CommandSender sender,
|
||||
org.bukkit.command.Command command,
|
||||
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a> label,
|
||||
<a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/String.html" title="java.lang中的类或接口" class="external-link">String</a>[] args)</span></div>
|
||||
<dl class="notes">
|
||||
<dt>指定者:</dt>
|
||||
<dd><code>onCommand</code> 在接口中 <code>org.bukkit.command.CommandExecutor</code></dd>
|
||||
</dl>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- ========= END OF CLASS DATA ========= -->
|
||||
</main>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
BIN
build/libs/PlayerBlockLife-2.2.1-1.20.4.jar
Normal file
BIN
build/libs/PlayerBlockLife-2.2.1-1.20.4.jar
Normal file
Binary file not shown.
BIN
build/libs/PlayerBlockLife-2.2.2-1.20.4.jar
Normal file
BIN
build/libs/PlayerBlockLife-2.2.2-1.20.4.jar
Normal file
Binary file not shown.
@@ -9,6 +9,12 @@ game:
|
||||
become_spectator: true
|
||||
# 是否启用生命值系统
|
||||
health_system: true
|
||||
|
||||
# 方块生成设置
|
||||
# 生成方块范围(以玩家为中心的半径)
|
||||
spread_range: 5
|
||||
# 生成方块距离玩家的最小距离
|
||||
min_distance: 2
|
||||
|
||||
# 广播设置
|
||||
broadcast:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: PlayerBlockLife
|
||||
version: 2.2.0-1.20.4
|
||||
version: 2.2.2-1.20.4
|
||||
main: com.playerblocklife.PlayerBlockLife
|
||||
api-version: 1.20
|
||||
author: xiaobai
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
Manifest-Version: 1.0
|
||||
Implementation-Version: 2.2.0-alpha-1.20.4
|
||||
Implementation-Version: 2.2.1-1.20.4
|
||||
Main-Class: com.playerblocklife.PlayerBlockLife
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
Manifest-Version: 1.0
|
||||
Implementation-Version: 2.2.0-1.20.4
|
||||
Implementation-Version: 2.2.2-1.20.4
|
||||
Main-Class: com.playerblocklife.PlayerBlockLife
|
||||
|
||||
|
||||
@@ -5,5 +5,5 @@ org.gradle.caching=true
|
||||
org.gradle.daemon=true
|
||||
|
||||
# ????
|
||||
pluginVersion=2.2.0-1.20.4
|
||||
pluginVersion=2.2.2-1.20.4
|
||||
mcVersion=1.20.4
|
||||
@@ -23,7 +23,7 @@ import java.util.UUID;
|
||||
* <p>这些命令在新模式下会与GameStateManager交互,以正确管理游戏状态。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class AdminCommands implements CommandExecutor {
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.util.UUID;
|
||||
* <p>此监听器与GameStateManager协作,确保游戏规则正确执行。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class BlockBreakListener implements Listener {
|
||||
|
||||
@@ -13,7 +13,7 @@ import org.bukkit.entity.Player;
|
||||
* 与旧模式不同,此命令不再显示生命方块的具体位置,而是提供当前游戏状态信息。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class CheckLifeBlocksCommand implements CommandExecutor {
|
||||
|
||||
@@ -31,7 +31,7 @@ import java.nio.charset.StandardCharsets;
|
||||
* </ul>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version -1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class ConfigManager {
|
||||
@@ -323,6 +323,24 @@ public class ConfigManager {
|
||||
return getConfig().getBoolean("protection.protect_from_pistons", true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取方块生成范围(以玩家为中心的半径)
|
||||
*
|
||||
* @return 生成范围(方块),默认为5
|
||||
*/
|
||||
public int getSpreadRange() {
|
||||
return getConfig().getInt("game.spread_range", 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取方块生成距离玩家的最小距离
|
||||
*
|
||||
* @return 最小距离(方块),默认为2
|
||||
*/
|
||||
public int getMinDistance() {
|
||||
return getConfig().getInt("game.min_distance", 2);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// 命令启用配置获取方法
|
||||
|
||||
@@ -45,7 +45,7 @@ import java.util.UUID;
|
||||
* </ul>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version -1.20.4
|
||||
* @since 4.0.0
|
||||
*/
|
||||
public class GameStateManager {
|
||||
@@ -253,7 +253,8 @@ public class GameStateManager {
|
||||
Material color = playerColors.get(player.getUniqueId());
|
||||
ConfigManager config = plugin.getConfigManager();
|
||||
int blockAmount = 5; // 使用固定值,因为配置已移除
|
||||
int spreadRange = 5; // 使用固定值,因为配置已移除
|
||||
int spreadRange = config.getSpreadRange(); // 从配置获取范围
|
||||
int minDistance = config.getMinDistance(); // 从配置获取最小距离
|
||||
|
||||
List<Location> blocks = new ArrayList<>();
|
||||
int blocksPlaced = 0;
|
||||
@@ -266,6 +267,13 @@ public class GameStateManager {
|
||||
int x = random.nextInt(spreadRange * 2 + 1) - spreadRange;
|
||||
int z = random.nextInt(spreadRange * 2 + 1) - spreadRange;
|
||||
|
||||
// 检查与玩家的距离是否满足最小距离要求
|
||||
double distance = Math.sqrt(x * x + z * z);
|
||||
if (distance < minDistance) {
|
||||
attempts++;
|
||||
continue;
|
||||
}
|
||||
|
||||
Location testLoc = center.clone().add(x, 0, z);
|
||||
World world = testLoc.getWorld();
|
||||
if (world == null) continue;
|
||||
@@ -608,6 +616,14 @@ public class GameStateManager {
|
||||
* 重置游戏
|
||||
*/
|
||||
public void resetGame() {
|
||||
// 删除世界中所有未被破坏的生命方块(新模式)
|
||||
removeGameBlocksFromWorld();
|
||||
|
||||
// 删除旧模式的生命方块
|
||||
if (plugin.getBlockManager() != null) {
|
||||
plugin.getBlockManager().resetGameBlocks();
|
||||
}
|
||||
|
||||
// 清空所有数据
|
||||
playerColors.clear();
|
||||
playerBlocks.clear();
|
||||
@@ -631,6 +647,33 @@ public class GameStateManager {
|
||||
setCurrentState(GameState.WAITING);
|
||||
}
|
||||
|
||||
/**
|
||||
* 从世界中删除所有游戏生命方块
|
||||
*/
|
||||
private void removeGameBlocksFromWorld() {
|
||||
// 遍历所有玩家的生命方块位置并将其设置为空气
|
||||
for (List<Location> blocks : playerBlocks.values()) {
|
||||
for (Location location : blocks) {
|
||||
if (location.getWorld() != null) {
|
||||
Block block = location.getBlock();
|
||||
// 只删除生命方块(彩色羊毛、玻璃或混凝土)
|
||||
if (isLifeBlockMaterial(block.getType())) {
|
||||
block.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查材料是否为生命方块材料
|
||||
*/
|
||||
private boolean isLifeBlockMaterial(Material material) {
|
||||
return material.name().endsWith("_WOOL") ||
|
||||
material.name().endsWith("_STAINED_GLASS") ||
|
||||
material.name().endsWith("_CONCRETE");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取玩家剩余方块数量
|
||||
*/
|
||||
|
||||
@@ -33,7 +33,7 @@ import java.util.UUID;
|
||||
* </pre>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0
|
||||
* @version
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class LifeSystem {
|
||||
|
||||
@@ -18,7 +18,7 @@ import org.bukkit.entity.Player;
|
||||
* <p>这些命令仅允许服务器管理员(OP)执行,用于控制PlayerBlockLife游戏的生命周期。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 4.0.0
|
||||
*/
|
||||
public class PBLCommands implements CommandExecutor {
|
||||
|
||||
@@ -24,7 +24,7 @@ import java.util.logging.Level;
|
||||
* </ul>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class PlayerBlockLife extends JavaPlugin {
|
||||
|
||||
@@ -42,7 +42,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* <p>使用并发安全的数据结构确保多线程环境下的数据一致性。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0
|
||||
* @version 2.2.2
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class PlayerBlockManager {
|
||||
@@ -67,8 +67,10 @@ public class PlayerBlockManager {
|
||||
ConfigManager config = plugin.getConfigManager();
|
||||
boolean requireOpenSky = true; // 使用默认值,因为配置已移除
|
||||
int maxAttempts = 50; // 使用默认值,因为配置已移除
|
||||
int spreadRange = config.getSpreadRange(); // 从配置获取范围
|
||||
int minDistance = config.getMinDistance(); // 从配置获取最小距离
|
||||
|
||||
return generateLifeBlocksForPlayer(player, 5, 5, requireOpenSky, maxAttempts);
|
||||
return generateLifeBlocksForPlayer(player, 5, spreadRange, minDistance, requireOpenSky, maxAttempts);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -96,14 +98,15 @@ public class PlayerBlockManager {
|
||||
*
|
||||
* @param player 目标玩家
|
||||
* @param blockAmount 要生成的方块数量
|
||||
* @param spreadRange 生成范围(以玩家为中心的正方形边长的一半)
|
||||
* @param spreadRange 生成范围(以玩家为中心的半径)
|
||||
* @param minDistance 生成方块距离玩家的最小距离
|
||||
* @param requireOpenSky 是否需要开阔天空(上方无方块覆盖)
|
||||
* @param maxAttempts 寻找合适位置的最大尝试次数
|
||||
* @return 生成成功返回true,失败返回false
|
||||
* @see SkinManager#isSkinLoaded(UUID)
|
||||
* @see SkinManager#getSkinFromSkinsRestorer(Player)
|
||||
*/
|
||||
public boolean generateLifeBlocksForPlayer(Player player, int blockAmount, int spreadRange, boolean requireOpenSky, int maxAttempts) {
|
||||
public boolean generateLifeBlocksForPlayer(Player player, int blockAmount, int spreadRange, int minDistance, boolean requireOpenSky, int maxAttempts) {
|
||||
UUID playerId = player.getUniqueId();
|
||||
String playerName = player.getName();
|
||||
|
||||
@@ -123,7 +126,7 @@ public class PlayerBlockManager {
|
||||
|
||||
// 尝试生成指定数量的方块
|
||||
while (blocksPlaced < blockAmount && attempts < maxAttempts) {
|
||||
Location blockLoc = findSurfaceLocation(player.getLocation(), spreadRange, requireOpenSky);
|
||||
Location blockLoc = findSurfaceLocation(player.getLocation(), spreadRange, minDistance, requireOpenSky);
|
||||
attempts++;
|
||||
|
||||
if (blockLoc != null && placePlayerHead(blockLoc, playerId, playerName)) {
|
||||
@@ -148,11 +151,18 @@ public class PlayerBlockManager {
|
||||
/**
|
||||
* 寻找地表位置(放宽条件,只要是露天地面就可以)
|
||||
*/
|
||||
private Location findSurfaceLocation(Location center, int spreadRange, boolean requireOpenSky) {
|
||||
private Location findSurfaceLocation(Location center, int spreadRange, int minDistance, boolean requireOpenSky) {
|
||||
for (int i = 0; i < 20; i++) { // 增加尝试次数
|
||||
int x = random.nextInt(spreadRange * 2 + 1) - spreadRange;
|
||||
int z = random.nextInt(spreadRange * 2 + 1) - spreadRange;
|
||||
|
||||
// 检查与玩家的距离是否满足最小距离要求
|
||||
double distance = Math.sqrt(x * x + z * z);
|
||||
if (distance < minDistance) {
|
||||
// 如果距离太近,重新生成坐标
|
||||
continue;
|
||||
}
|
||||
|
||||
// 以玩家坐标为中心,但高度从世界最高点开始寻找
|
||||
Location testLoc = center.clone().add(x, 0, z);
|
||||
World world = testLoc.getWorld();
|
||||
@@ -755,6 +765,30 @@ public class PlayerBlockManager {
|
||||
return nearest;
|
||||
}
|
||||
|
||||
/**
|
||||
* 重置游戏时删除所有未被破坏的生命方块
|
||||
*/
|
||||
public void resetGameBlocks() {
|
||||
// 遍历所有生命方块位置并将其设置为空气
|
||||
for (Location location : blockOwners.keySet()) {
|
||||
if (location.getWorld() != null) {
|
||||
Block block = location.getBlock();
|
||||
// 只删除玩家头颅方块
|
||||
if (block.getType() == Material.PLAYER_HEAD || block.getType() == Material.PLAYER_WALL_HEAD) {
|
||||
block.setType(Material.AIR);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 清空内部数据结构
|
||||
playerBlocks.clear();
|
||||
blockOwners.clear();
|
||||
playerBlockTypes.clear();
|
||||
|
||||
// 保存数据更新
|
||||
saveData();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有生命方块的统计信息
|
||||
*/
|
||||
|
||||
@@ -28,7 +28,7 @@ import java.util.UUID;
|
||||
* <p>此监听器与GameStateManager协作,确保玩家正确加入PlayerBlockLife游戏模式。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class PlayerJoinListener implements Listener {
|
||||
@@ -90,7 +90,7 @@ public class PlayerJoinListener implements Listener {
|
||||
|
||||
// 调用方块管理器生成方块
|
||||
boolean success = plugin.getBlockManager().generateLifeBlocksForPlayer(
|
||||
player, 5, 5, requireOpenSky, maxAttempts
|
||||
player, 5, config.getSpreadRange(), config.getMinDistance(), requireOpenSky, maxAttempts
|
||||
);
|
||||
|
||||
if (success) {
|
||||
|
||||
@@ -11,7 +11,7 @@ import org.bukkit.event.player.PlayerQuitEvent;
|
||||
* 其生命方块状态,因为方块位置信息仅在服务器运行期间维护。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class PlayerQuitListener implements Listener {
|
||||
|
||||
@@ -14,7 +14,7 @@ import org.bukkit.entity.Player;
|
||||
* 玩家应等待管理员使用 /PlayerBlockLife start 命令开始游戏。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0-1.20.4
|
||||
* @version 2.2.2-1.20.4
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class SetLifeBlocksCommand implements CommandExecutor {
|
||||
|
||||
@@ -52,7 +52,7 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
* <p>皮肤缓存默认保留7天,过期后自动重新获取。</p>
|
||||
*
|
||||
* @author xiaobai
|
||||
* @version 2.2.0
|
||||
* @version 2.2.2
|
||||
* @since 1.0.0
|
||||
*/
|
||||
public class SkinManager {
|
||||
|
||||
@@ -9,6 +9,12 @@ game:
|
||||
become_spectator: true
|
||||
# 是否启用生命值系统
|
||||
health_system: true
|
||||
|
||||
# 方块生成设置
|
||||
# 生成方块范围(以玩家为中心的半径)
|
||||
spread_range: 5
|
||||
# 生成方块距离玩家的最小距离
|
||||
min_distance: 2
|
||||
|
||||
# 广播设置
|
||||
broadcast:
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
name: PlayerBlockLife
|
||||
version: 2.2.0-1.20.4
|
||||
version: 2.2.2-1.20.4
|
||||
main: com.playerblocklife.PlayerBlockLife
|
||||
api-version: 1.20
|
||||
author: xiaobai
|
||||
|
||||
Reference in New Issue
Block a user