Added restrictions

This commit is contained in:
Elias Müller 2022-09-25 23:34:43 +02:00
parent 8409d1cc7d
commit b5468b1fe9
43 changed files with 305 additions and 62 deletions

Binary file not shown.

View File

@ -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.

View File

@ -68,7 +68,7 @@ loadScripts(document, 'script');</script>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</div>
@ -160,7 +160,7 @@ loadScripts(document, 'script');</script>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</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">&nbsp;</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">&nbsp;</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>&lt;<a href="eu/mhsl/minenet/minigames/instance/game/minigame/config/Option.html" title="type parameter in Option">T</a>&gt;</div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>

View File

@ -74,7 +74,7 @@ loadScripts(document, 'script');</script>
<div class="col-last even-row-color">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</div>

View File

@ -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

View File

@ -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&lt;T&gt;</span>

View File

@ -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>&nbsp;<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>&nbsp;<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>&lt;<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>&gt;
<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">

View File

@ -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>&nbsp;<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>&nbsp;<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>&lt;<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>&gt;
<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">

View File

@ -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">&nbsp;</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">&nbsp;</div>
</div>
</div>

View File

@ -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>&lt;T&gt;
<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>

View File

@ -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">&nbsp;</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">&nbsp;</div>
</div>
</div>

View File

@ -71,9 +71,9 @@ loadScripts(document, 'script');</script>
<dd>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</dd>
</dl>
<a href="index-1.html">A</a>&nbsp;<a href="index-2.html">B</a>&nbsp;<a href="index-3.html">C</a>&nbsp;<a href="index-4.html">D</a>&nbsp;<a href="index-5.html">E</a>&nbsp;<a href="index-6.html">F</a>&nbsp;<a href="index-7.html">G</a>&nbsp;<a href="index-8.html">H</a>&nbsp;<a href="index-9.html">I</a>&nbsp;<a href="index-10.html">J</a>&nbsp;<a href="index-11.html">L</a>&nbsp;<a href="index-12.html">M</a>&nbsp;<a href="index-13.html">N</a>&nbsp;<a href="index-14.html">O</a>&nbsp;<a href="index-15.html">P</a>&nbsp;<a href="index-16.html">Q</a>&nbsp;<a href="index-17.html">R</a>&nbsp;<a href="index-18.html">S</a>&nbsp;<a href="index-19.html">T</a>&nbsp;<a href="index-20.html">U</a>&nbsp;<a href="index-21.html">V</a>&nbsp;<a href="index-22.html">W</a>&nbsp;<br><a href="../allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="../allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="../constant-values.html">Constant&nbsp;Field&nbsp;Values</a></main>

View File

@ -59,9 +59,9 @@ loadScripts(document, 'script');</script>
<dd>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</dd>

View File

@ -75,7 +75,7 @@ loadScripts(document, 'script');</script>
<dd>&nbsp;</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>&nbsp;</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>&nbsp;</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>&nbsp;</dd>

View File

@ -72,7 +72,7 @@ loadScripts(document, 'script');</script>
<div class="col-last even-row-color all-packages-table all-packages-table-tab1">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</div>

View File

@ -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

View File

@ -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

View File

@ -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>&lt;T&gt;
<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>

View File

@ -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
*/

View File

@ -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
);
}
}
}

View File

@ -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());
}
}

View File

@ -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);

View File

@ -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;

View File

@ -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));
}

View File

@ -0,0 +1,6 @@
package eu.mhsl.minenet.minigames.instance.game.minigame.config.restriction;
public interface IRestriction {
Restriction calculate(RestrictionData data);
}

View File

@ -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,
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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
);
}
}

View File

@ -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
);
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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();

View File

@ -44,6 +44,6 @@ public class GameSelector extends InteractableEntity {
return;
}
playerEntityInteractEvent.getPlayer().openInventory(new MinigameTypeSelectInventory());
playerEntityInteractEvent.getPlayer().openInventory(new MinigameTypeSelectInventory(room));
}
}

View File

@ -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++;
}

View File

@ -105,4 +105,3 @@ public class Languages {
}
}
}