Added restrictions
This commit is contained in:
parent
8409d1cc7d
commit
b5468b1fe9
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.
2
LICENSE
2
LICENSE
@ -2,7 +2,7 @@ MIT License
|
||||
|
||||
Copyright (c) <year> <copyright holders>
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without IRestriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
|
@ -68,7 +68,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="eu/mhsl/minenet/minigames/world/generator/BlockPallet.html" title="enum class in eu.mhsl.minenet.minigames.world.generator">BlockPallet</a></div>
|
||||
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3"> </div>
|
||||
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></div>
|
||||
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></div>
|
||||
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/server/provider/ByPlayerNameUuidProvider.html" title="class in eu.mhsl.minenet.minigames.server.provider">ByPlayerNameUuidProvider</a></div>
|
||||
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
@ -160,7 +160,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/message/component/NamespacedTranslatable.html" title="class in eu.mhsl.minenet.minigames.message.component">NamespacedTranslatable</a></div>
|
||||
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></div>
|
||||
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></div>
|
||||
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/Option.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config">Option</a><<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/Option.html" title="type parameter in Option">T</a>></div>
|
||||
<div class="col-last even-row-color all-classes-table all-classes-table-tab2"> </div>
|
||||
|
@ -74,7 +74,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config</a></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
<div class="col-first even-row-color"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></div>
|
||||
<div class="col-first even-row-color"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/types/deathcube/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube</a></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
|
@ -8,7 +8,7 @@ eu.mhsl.minenet.minigames.instance
|
||||
eu.mhsl.minenet.minigames.instance.game
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.config
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.config.options
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.config.common
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.types.minerun
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.types.stickfight
|
||||
|
@ -77,7 +77,7 @@ loadScripts(document, 'script');</script>
|
||||
<section class="class-description" id="class-description">
|
||||
<dl class="notes">
|
||||
<dt>Direct Known Subclasses:</dt>
|
||||
<dd><code><a href="options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></code>, <code><a href="options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></code></dd>
|
||||
<dd><code><a href="options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></code>, <code><a href="options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></code></dd>
|
||||
</dl>
|
||||
<hr>
|
||||
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">Option<T></span>
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="dc.created" content="2022-09-18">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.options, class: BoolOption">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.common, class: BoolOption">
|
||||
<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">
|
||||
@ -64,12 +64,12 @@ loadScripts(document, 'script');</script>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></div>
|
||||
<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></div>
|
||||
<h1 title="Class BoolOption" class="title">Class BoolOption</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
|
||||
<div class="inheritance"><a href="../Option.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config">eu.mhsl.minenet.minigames.instance.game.minigame.config.Option</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Boolean.html" title="class or interface in java.lang" class="external-link">Boolean</a>>
|
||||
<div class="inheritance">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.BoolOption</div>
|
||||
<div class="inheritance">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.BoolOption</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
|
@ -6,7 +6,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="dc.created" content="2022-09-18">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.options, class: NumericOption">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.common, class: NumericOption">
|
||||
<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">
|
||||
@ -64,12 +64,12 @@ loadScripts(document, 'script');</script>
|
||||
<main role="main">
|
||||
<!-- ======== START OF CLASS DATA ======== -->
|
||||
<div class="header">
|
||||
<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></div>
|
||||
<div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></div>
|
||||
<h1 title="Class NumericOption" class="title">Class NumericOption</h1>
|
||||
</div>
|
||||
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
|
||||
<div class="inheritance"><a href="../Option.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config">eu.mhsl.minenet.minigames.instance.game.minigame.config.Option</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Integer.html" title="class or interface in java.lang" class="external-link">Integer</a>>
|
||||
<div class="inheritance">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.NumericOption</div>
|
||||
<div class="inheritance">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.NumericOption</div>
|
||||
</div>
|
||||
</div>
|
||||
<section class="class-description" id="class-description">
|
||||
|
@ -2,11 +2,11 @@
|
||||
<html lang="de">
|
||||
<head>
|
||||
<!-- Generated by javadoc (17) on Sun Sep 18 22:55:36 CEST 2022 -->
|
||||
<title>eu.mhsl.minenet.minigames.instance.game.minigame.config.options</title>
|
||||
<title>eu.mhsl.minenet.minigames.instance.game.minigame.config.common</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="dc.created" content="2022-09-18">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.options">
|
||||
<meta name="description" content="declaration: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.common">
|
||||
<meta name="generator" content="javadoc/PackageWriterImpl">
|
||||
<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">
|
||||
@ -56,10 +56,11 @@ loadScripts(document, 'script');</script>
|
||||
<div class="flex-content">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 title="Package eu.mhsl.minenet.minigames.instance.game.minigame.config.options" class="title">Package eu.mhsl.minenet.minigames.instance.game.minigame.config.options</h1>
|
||||
<h1 title="Package eu.mhsl.minenet.minigames.instance.game.minigame.config.common" class="title">Package
|
||||
eu.mhsl.minenet.minigames.instance.game.minigame.config.common</h1>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="package-signature">package <span class="element-name">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</span></div>
|
||||
<div class="package-signature">package <span class="element-name">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</span></div>
|
||||
<section class="summary">
|
||||
<ul class="summary-list">
|
||||
<li>
|
||||
@ -79,9 +80,9 @@ loadScripts(document, 'script');</script>
|
||||
<div class="summary-table two-column-summary">
|
||||
<div class="table-header col-first">Class</div>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></div>
|
||||
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></div>
|
||||
<div class="col-last even-row-color class-summary class-summary-tab2"> </div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></div>
|
||||
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></div>
|
||||
<div class="col-last odd-row-color class-summary class-summary-tab2"> </div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -2,11 +2,11 @@
|
||||
<html lang="de">
|
||||
<head>
|
||||
<!-- Generated by javadoc (17) on Sun Sep 18 22:55:36 CEST 2022 -->
|
||||
<title>eu.mhsl.minenet.minigames.instance.game.minigame.config.options Class Hierarchy</title>
|
||||
<title>eu.mhsl.minenet.minigames.instance.game.minigame.config.common Class Hierarchy</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||
<meta name="dc.created" content="2022-09-18">
|
||||
<meta name="description" content="tree: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.options">
|
||||
<meta name="description" content="tree: package: eu.mhsl.minenet.minigames.instance.game.minigame.config.common">
|
||||
<meta name="generator" content="javadoc/PackageTreeWriter">
|
||||
<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">
|
||||
@ -48,7 +48,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="flex-content">
|
||||
<main role="main">
|
||||
<div class="header">
|
||||
<h1 class="title">Hierarchy For Package eu.mhsl.minenet.minigames.instance.game.minigame.config.options</h1>
|
||||
<h1 class="title">Hierarchy For Package eu.mhsl.minenet.minigames.instance.game.minigame.config.common</h1>
|
||||
<span class="package-hierarchy-label">Package Hierarchies:</span>
|
||||
<ul class="horizontal">
|
||||
<li><a href="../../../../../../../../../overview-tree.html">All Packages</a></li>
|
||||
@ -61,8 +61,8 @@ loadScripts(document, 'script');</script>
|
||||
<ul>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.<a href="../Option.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config">Option</a><T>
|
||||
<ul>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
@ -74,7 +74,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="table-header col-last">Description</div>
|
||||
<div class="col-first even-row-color"><a href="../package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame</a></div>
|
||||
<div class="col-last even-row-color"> </div>
|
||||
<div class="col-first odd-row-color"><a href="options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></div>
|
||||
<div class="col-first odd-row-color"><a href="options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></div>
|
||||
<div class="col-last odd-row-color"> </div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -71,9 +71,9 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/message/TranslatableMessage.html#newLine()" class="member-name-link">newLine()</a> - Method in class eu.mhsl.minenet.minigames.message.<a href="../eu/mhsl/minenet/minigames/message/TranslatableMessage.html" title="class in eu.mhsl.minenet.minigames.message">TranslatableMessage</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a> - Class in <a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></dt>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a> - Class in <a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html#%3Cinit%3E(java.lang.String,net.minestom.server.item.Material,java.lang.String,java.lang.Integer...)" class="member-name-link">NumericOption(String, Material, String, Integer...)</a> - Constructor for class eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></dt>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html#%3Cinit%3E(java.lang.String,net.minestom.server.item.Material,java.lang.String,java.lang.Integer...)" class="member-name-link">NumericOption(String, Material, String, Integer...)</a> - Constructor for class eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></dt>
|
||||
<dd> </dd>
|
||||
</dl>
|
||||
<a href="index-1.html">A</a> <a href="index-2.html">B</a> <a href="index-3.html">C</a> <a href="index-4.html">D</a> <a href="index-5.html">E</a> <a href="index-6.html">F</a> <a href="index-7.html">G</a> <a href="index-8.html">H</a> <a href="index-9.html">I</a> <a href="index-10.html">J</a> <a href="index-11.html">L</a> <a href="index-12.html">M</a> <a href="index-13.html">N</a> <a href="index-14.html">O</a> <a href="index-15.html">P</a> <a href="index-16.html">Q</a> <a href="index-17.html">R</a> <a href="index-18.html">S</a> <a href="index-19.html">T</a> <a href="index-20.html">U</a> <a href="index-21.html">V</a> <a href="index-22.html">W</a> <br><a href="../allclasses-index.html">All Classes and Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant Field Values</a></main>
|
||||
|
@ -59,9 +59,9 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/world/generator/BlockPallet.html" class="type-name-link" title="enum class in eu.mhsl.minenet.minigames.world.generator">BlockPallet</a> - Enum Class in <a href="../eu/mhsl/minenet/minigames/world/generator/package-summary.html">eu.mhsl.minenet.minigames.world.generator</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a> - Class in <a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></dt>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a> - Class in <a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html#%3Cinit%3E(java.lang.String,net.minestom.server.item.Material,java.lang.String)" class="member-name-link">BoolOption(String, Material, String)</a> - Constructor for class eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></dt>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html#%3Cinit%3E(java.lang.String,net.minestom.server.item.Material,java.lang.String)" class="member-name-link">BoolOption(String, Material, String)</a> - Constructor for class eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/message/TranslatableMessage.html#build(net.minestom.server.entity.Player)" class="member-name-link">build(Player)</a> - Method in class eu.mhsl.minenet.minigames.message.<a href="../eu/mhsl/minenet/minigames/message/TranslatableMessage.html" title="class in eu.mhsl.minenet.minigames.message">TranslatableMessage</a></dt>
|
||||
<dd> </dd>
|
||||
|
@ -75,7 +75,7 @@ loadScripts(document, 'script');</script>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config</a> - package eu.mhsl.minenet.minigames.instance.game.minigame.config</dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a> - package eu.mhsl.minenet.minigames.instance.game.minigame.config.options</dt>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a> - package eu.mhsl.minenet.minigames.instance.game.minigame.config.common</dt>
|
||||
<dd> </dd>
|
||||
<dt><a href="../eu/mhsl/minenet/minigames/instance/game/minigame/types/deathcube/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube</a> - package eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube</dt>
|
||||
<dd> </dd>
|
||||
|
@ -72,7 +72,7 @@ loadScripts(document, 'script');</script>
|
||||
<div class="col-last even-row-color all-packages-table all-packages-table-tab1"> </div>
|
||||
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config</a></div>
|
||||
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1"> </div>
|
||||
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a></div>
|
||||
<div class="col-first even-row-color all-packages-table all-packages-table-tab1"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a></div>
|
||||
<div class="col-last even-row-color all-packages-table all-packages-table-tab1"> </div>
|
||||
<div class="col-first odd-row-color all-packages-table all-packages-table-tab1"><a href="eu/mhsl/minenet/minigames/instance/game/minigame/types/deathcube/package-summary.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube</a></div>
|
||||
<div class="col-last odd-row-color all-packages-table all-packages-table-tab1"> </div>
|
||||
|
@ -7,7 +7,7 @@ Copyright JS Foundation and other contributors, https://js.foundation/
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
"Software"), to deal in the Software without IRestriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
@ -43,7 +43,7 @@ documented below:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
"Software"), to deal in the Software without IRestriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
|
@ -15,7 +15,7 @@ documented below:
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
"Software"), to deal in the Software without IRestriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
|
@ -61,7 +61,7 @@ loadScripts(document, 'script');</script>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/package-tree.html">eu.mhsl.minenet.minigames.instance.game</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.config</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.options</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.config.common</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/types/deathcube/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.deathcube</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/types/minerun/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.minerun</a>, </li>
|
||||
<li><a href="eu/mhsl/minenet/minigames/instance/game/minigame/types/stickfight/package-tree.html">eu.mhsl.minenet.minigames.instance.game.minigame.types.stickfight</a>, </li>
|
||||
@ -189,8 +189,8 @@ loadScripts(document, 'script');</script>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.message.component.<a href="eu/mhsl/minenet/minigames/message/component/NamespacedTranslatable.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.message.component">NamespacedTranslatable</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/Option.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config">Option</a><T>
|
||||
<ul>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">BoolOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.options.<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.options">NumericOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/BoolOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">BoolOption</a></li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.instance.game.minigame.config.common.<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/options/NumericOption.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.instance.game.minigame.config.common">NumericOption</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="circle">eu.mhsl.minenet.minigames.world.generator.<a href="eu/mhsl/minenet/minigames/world/generator/PlaneGenerator.html" class="type-name-link" title="class in eu.mhsl.minenet.minigames.world.generator">PlaneGenerator</a> (implements net.minestom.server.instance.generator.Generator)</li>
|
||||
|
@ -1,6 +1,7 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.MineNetInstance;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory;
|
||||
import eu.mhsl.minenet.minigames.util.CommonEventHandles;
|
||||
import eu.mhsl.minenet.minigames.instance.Spawnable;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
@ -50,6 +51,13 @@ public abstract class Game extends MineNetInstance implements Spawnable {
|
||||
.addListener(ItemDropEvent.class, this::onItemDrop);
|
||||
}
|
||||
|
||||
public static Game initialize(GameFactory factory, Player owner) {
|
||||
Game game = factory.manufacture(factory.configuration() != null ? factory.configuration().getAll() : null);
|
||||
Room.getRoom(owner).moveMembersToGame(game);
|
||||
game.load();
|
||||
return game;
|
||||
}
|
||||
|
||||
/**
|
||||
* Load and start countdown
|
||||
*/
|
||||
|
@ -1,26 +1,46 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.Game;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.IRestriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.Restriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionData;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionHandler;
|
||||
import eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory;
|
||||
import eu.mhsl.minenet.minigames.util.TextUtil;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import net.kyori.adventure.sound.Sound;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.NamedTextColor;
|
||||
import net.minestom.server.entity.Player;
|
||||
import net.minestom.server.event.instance.AddEntityToInstanceEvent;
|
||||
import net.minestom.server.inventory.InventoryType;
|
||||
import net.minestom.server.inventory.click.ClickType;
|
||||
import net.minestom.server.inventory.condition.InventoryConditionResult;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
import net.minestom.server.sound.SoundEvent;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class GameConfigurationInventory extends InteractableInventory {
|
||||
private final Map<Integer, Option<?>> map = new HashMap<>();
|
||||
|
||||
public GameConfigurationInventory(GameFactory factory) {
|
||||
final private Room room;
|
||||
final private GameFactory factory;
|
||||
|
||||
public GameConfigurationInventory(Room room, GameFactory factory) {
|
||||
super(InventoryType.CHEST_5_ROW, factory.name());
|
||||
this.room = room;
|
||||
this.factory = factory;
|
||||
|
||||
room.eventNode()
|
||||
.addListener(AddEntityToInstanceEvent.class, addEntityToInstanceEvent -> {
|
||||
System.out.println("UPDATE");
|
||||
updatePlayButton();
|
||||
});
|
||||
|
||||
ConfigManager config = factory.configuration();
|
||||
|
||||
setClickableItem(
|
||||
@ -39,20 +59,7 @@ public class GameConfigurationInventory extends InteractableInventory {
|
||||
|
||||
setDummyItem(Material.BLACK_STAINED_GLASS_PANE,7);
|
||||
|
||||
setClickableItem(
|
||||
ItemStack.builder(Material.GREEN_WOOL).displayName(Component.text("Start", NamedTextColor.GREEN)).build(),
|
||||
8,
|
||||
itemClick -> {
|
||||
try {
|
||||
Game game = factory.manufacture(config != null ? config.getAll() : null);
|
||||
Room.getRoom(itemClick.getPlayer()).moveMembersToGame(game);
|
||||
game.load();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
},
|
||||
true
|
||||
);
|
||||
updatePlayButton();
|
||||
|
||||
for(int i = 9; i <= 17; i++) {
|
||||
setDummyItem(Material.BLACK_STAINED_GLASS_PANE, i);
|
||||
@ -92,4 +99,44 @@ public class GameConfigurationInventory extends InteractableInventory {
|
||||
update();
|
||||
|
||||
}
|
||||
|
||||
private void updatePlayButton() {
|
||||
RestrictionHandler restrictionHandler = factory.globalRestrictions();
|
||||
RestrictionData restrictionData = new RestrictionData(room);
|
||||
|
||||
if(restrictionHandler.canPlay(restrictionData)) {
|
||||
|
||||
setClickableItem(
|
||||
ItemStack.builder(restrictionHandler.getWarnings(restrictionData).size() > 0 ? Material.YELLOW_WOOL : Material.GREEN_WOOL)
|
||||
.displayName(Component.text("Start", NamedTextColor.GREEN))
|
||||
.lore(restrictionHandler.getWarnings(restrictionData).stream().map(Component::text).collect(Collectors.toList()))
|
||||
.build(),
|
||||
8,
|
||||
itemClick -> {
|
||||
Game.initialize(factory, itemClick.getPlayer());
|
||||
},
|
||||
true
|
||||
);
|
||||
|
||||
} else {
|
||||
|
||||
setClickableItem(
|
||||
ItemStack.builder(Material.RED_WOOL)
|
||||
.displayName(Component.text("Bedinungen nicht erfült", NamedTextColor.RED))
|
||||
.lore(
|
||||
restrictionHandler.getRestrictions()
|
||||
.stream()
|
||||
.filter(iRestriction -> iRestriction.calculate(restrictionData).getType().equals(Restriction.Type.FAIL))
|
||||
.map(iRestriction -> Component.text(iRestriction.calculate(restrictionData).getName()))
|
||||
.collect(Collectors.toList()))
|
||||
.build(),
|
||||
8,
|
||||
itemClick -> {
|
||||
itemClick.getPlayer().playSound(Sound.sound(SoundEvent.ENTITY_SILVERFISH_DEATH, Sound.Source.AMBIENT, 1f, 1f));
|
||||
},
|
||||
false
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.Minigame;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionHandler;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.instance.block.Block;
|
||||
import net.minestom.server.item.Material;
|
||||
@ -12,23 +13,31 @@ import java.util.Map;
|
||||
public interface GameFactory {
|
||||
Component name();
|
||||
ConfigManager configuration();
|
||||
default RestrictionHandler globalRestrictions() {
|
||||
return new RestrictionHandler();
|
||||
}
|
||||
|
||||
default Material symbol() {
|
||||
return Material.GRASS_BLOCK;
|
||||
};
|
||||
}
|
||||
default Component description() {
|
||||
return Component.text("- Keine Beschreibung -");
|
||||
};
|
||||
}
|
||||
|
||||
Minigame manufacture(Map<String, Option<?>> configuration);
|
||||
|
||||
default Minigame manufacture(List<Option<?>> configuration) {
|
||||
if(configuration == null) return manufacture();
|
||||
|
||||
Map<String, Option<?>> cnf = new HashMap<>();
|
||||
configuration.forEach(option -> cnf.put(option.getId(), option));
|
||||
|
||||
return manufacture(cnf);
|
||||
}
|
||||
|
||||
default Minigame manufacture() {
|
||||
if(this.configuration() == null) return manufacture(List.of());
|
||||
|
||||
return manufacture(this.configuration().getAll());
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionHandler;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
@ -7,10 +8,10 @@ import net.minestom.server.item.Material;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class Option<T> {
|
||||
private RestrictionHandler restrictionHandler;
|
||||
private final Material item;
|
||||
private final String name;
|
||||
private final String id;
|
||||
|
||||
protected T currentValue;
|
||||
private final List<T> options;
|
||||
private int pointer = 0;
|
||||
@ -24,6 +25,15 @@ public abstract class Option<T> {
|
||||
currentValue = options.get(0);
|
||||
}
|
||||
|
||||
public void setRestrictionHandler(RestrictionHandler restrictionHandler) {
|
||||
this.restrictionHandler = restrictionHandler;
|
||||
}
|
||||
|
||||
public RestrictionHandler getRestrictionHandler() {
|
||||
return restrictionHandler;
|
||||
}
|
||||
|
||||
|
||||
public ItemStack getNext() {
|
||||
if(++pointer >= options.size()) pointer = 0;
|
||||
currentValue = options.get(pointer);
|
||||
|
@ -1,4 +1,4 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.options;
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.common;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.Option;
|
||||
import net.minestom.server.item.Material;
|
@ -1,11 +1,13 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.options;
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.common;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.Option;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionHandler;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class NumericOption extends Option<Integer> {
|
||||
|
||||
public NumericOption(String id, Material item, String name, Integer... options) {
|
||||
super(id, item, name, List.of(options));
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction;
|
||||
|
||||
|
||||
public interface IRestriction {
|
||||
Restriction calculate(RestrictionData data);
|
||||
}
|
@ -0,0 +1,43 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction;
|
||||
|
||||
public class Restriction {
|
||||
final private String name;
|
||||
final private String description;
|
||||
final private String warnMessage;
|
||||
|
||||
final private Type type;
|
||||
|
||||
public Restriction(String name, String description, String warnMessage, Type type) {
|
||||
this.name = name;
|
||||
this.description = description;
|
||||
this.warnMessage = warnMessage;
|
||||
this.type = type;
|
||||
|
||||
if(this.warnMessage == null && this.type.equals(Type.WARN)) {
|
||||
throw new IllegalStateException("warnMessage cannot be null when RestrictionType is WARN");
|
||||
}
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
public String getWarnMessage() {
|
||||
return warnMessage;
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
OK,
|
||||
WARN,
|
||||
FAIL,
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,16 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.MineNetInstance;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
|
||||
public class RestrictionData {
|
||||
final private Room instance;
|
||||
|
||||
public RestrictionData(Room instance) {
|
||||
this.instance = instance;
|
||||
}
|
||||
|
||||
public MineNetInstance getInstance() {
|
||||
return instance;
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction;
|
||||
|
||||
import java.lang.reflect.Array;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class RestrictionHandler {
|
||||
private List<IRestriction> restrictions = new ArrayList<>();
|
||||
|
||||
public RestrictionHandler(IRestriction... restrictions) {
|
||||
this.restrictions = List.of(restrictions);
|
||||
}
|
||||
|
||||
public RestrictionHandler() {
|
||||
|
||||
}
|
||||
|
||||
public RestrictionHandler addRestriction(IRestriction IRestriction) {
|
||||
this.restrictions.add(IRestriction);
|
||||
return this;
|
||||
}
|
||||
|
||||
public List<IRestriction> getRestrictions() {
|
||||
return restrictions;
|
||||
}
|
||||
|
||||
public boolean canPlay(RestrictionData data) {
|
||||
return this.restrictions.stream()
|
||||
.anyMatch(iRestriction -> !iRestriction.calculate(data).getType().equals(Restriction.Type.OK));
|
||||
}
|
||||
|
||||
public List<String> getWarnings(RestrictionData data) {
|
||||
List<String> warnings = new ArrayList<>();
|
||||
for (IRestriction r : this.restrictions) {
|
||||
Restriction calculated = r.calculate(data);
|
||||
if(!calculated.getType().equals(Restriction.Type.WARN)) continue;
|
||||
|
||||
warnings.add(calculated.getWarnMessage());
|
||||
}
|
||||
return warnings;
|
||||
}
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.common;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.IRestriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.Restriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionData;
|
||||
import kotlin.Result;
|
||||
|
||||
public class MaximalPlayeramountRestriction implements IRestriction {
|
||||
final private int max;
|
||||
|
||||
public MaximalPlayeramountRestriction(int max) {
|
||||
this.max = max;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Restriction calculate(RestrictionData data) {
|
||||
return new Restriction(
|
||||
"Maxplayers",
|
||||
"Maximale spieleranzahl",
|
||||
null,
|
||||
data.getInstance().getPlayers().size() > this.max ? Restriction.Type.FAIL : Restriction.Type.OK
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.common;
|
||||
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.IRestriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.Restriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionData;
|
||||
|
||||
public class MinimalPlayeramountRestriction implements IRestriction {
|
||||
final int min;
|
||||
|
||||
public MinimalPlayeramountRestriction(int min) {
|
||||
this.min = min;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Restriction calculate(RestrictionData data) {
|
||||
return new Restriction(
|
||||
"Minimal players",
|
||||
"Minimal amount of players needed",
|
||||
null,
|
||||
data.getInstance().getPlayers().size() < min ? Restriction.Type.FAIL : Restriction.Type.OK
|
||||
);
|
||||
}
|
||||
}
|
@ -4,7 +4,7 @@ import eu.mhsl.minenet.minigames.instance.game.minigame.Minigame;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.Option;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.ConfigManager;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.options.NumericOption;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.common.NumericOption;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
|
@ -4,7 +4,7 @@ import eu.mhsl.minenet.minigames.instance.game.minigame.Minigame;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.ConfigManager;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.Option;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.options.NumericOption;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.common.NumericOption;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
|
@ -4,6 +4,9 @@ import eu.mhsl.minenet.minigames.instance.game.minigame.Minigame;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.ConfigManager;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.Option;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.RestrictionHandler;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.common.MaximalPlayeramountRestriction;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction.common.MinimalPlayeramountRestriction;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
@ -20,6 +23,13 @@ public class StickFightFactory implements GameFactory {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RestrictionHandler globalRestrictions() {
|
||||
return new RestrictionHandler()
|
||||
.addRestriction(new MinimalPlayeramountRestriction(2))
|
||||
.addRestriction(new MaximalPlayeramountRestriction(4));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Minigame manufacture(Map<String, Option<?>> configuration) {
|
||||
return new Stickfight();
|
||||
|
@ -44,6 +44,6 @@ public class GameSelector extends InteractableEntity {
|
||||
return;
|
||||
}
|
||||
|
||||
playerEntityInteractEvent.getPlayer().openInventory(new MinigameTypeSelectInventory());
|
||||
playerEntityInteractEvent.getPlayer().openInventory(new MinigameTypeSelectInventory(room));
|
||||
}
|
||||
}
|
||||
|
@ -4,6 +4,7 @@ import eu.mhsl.minenet.minigames.instance.game.GameList;
|
||||
import eu.mhsl.minenet.minigames.instance.game.GameType;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameConfigurationInventory;
|
||||
import eu.mhsl.minenet.minigames.instance.game.minigame.config.GameFactory;
|
||||
import eu.mhsl.minenet.minigames.instance.room.Room;
|
||||
import eu.mhsl.minenet.minigames.shared.inventory.InteractableInventory;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.minestom.server.inventory.InventoryType;
|
||||
@ -12,8 +13,10 @@ import net.minestom.server.item.ItemStack;
|
||||
import net.minestom.server.item.Material;
|
||||
|
||||
public class MinigameTypeSelectInventory extends InteractableInventory {
|
||||
public MinigameTypeSelectInventory() {
|
||||
final private Room room;
|
||||
public MinigameTypeSelectInventory(Room room) {
|
||||
super(InventoryType.CHEST_6_ROW, Component.text("MineNet Servernetzwerk"));
|
||||
this.room = room;
|
||||
|
||||
int typeCount = 0;
|
||||
for (GameType type : GameType.values()) {
|
||||
@ -54,7 +57,7 @@ public class MinigameTypeSelectInventory extends InteractableInventory {
|
||||
.meta(metaBuilder -> metaBuilder.hideFlag(ItemHideFlag.HIDE_ATTRIBUTES))
|
||||
.build(),
|
||||
gameCount,
|
||||
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(gameFactory))
|
||||
itemClick -> itemClick.getPlayer().openInventory(new GameConfigurationInventory(room, gameFactory))
|
||||
);
|
||||
gameCount++;
|
||||
}
|
||||
|
@ -105,4 +105,3 @@ public class Languages {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user