Per world entity (type) collisions & some cleanup (#76)

* Per world entity (type) collisions & some cleanup

* Unnuke RainforestConfig

* Forgot the API

* fix and remove code clean up for now

Co-authored-by: Bud Gidiere <sgidiere@gmail.com>
This commit is contained in:
Ivan Pekov 2020-08-11 18:38:17 +03:00 committed by GitHub
parent 14f7e17e6e
commit 41ffe92eeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
23 changed files with 554 additions and 35981 deletions

View File

@ -18,12 +18,9 @@ # Patches
| server | Add config Yatopia command and basic settings | tr7zw | |
| api | Add getLastTickMs api | tr7zw | |
| server | Add getLastTickMs api | tr7zw | |
| server | Add option for only players to have collisions with | tr7zw | |
| server | Add option to disable saving projectiles to disk | William Blake Galbreath | |
| server | Add permission for F3+N debug | William Blake Galbreath | |
| api | Add server configuration | ㄗㄠˋ ㄑㄧˊ | |
| server | Akarin Updated Save json list async | tsao chi | |
| server | Akarin configuration | ㄗㄠˋ ㄑㄧˊ | |
| server | Akarin updated Async Path Finding | tsao chi | Bud Gidiere |
| server | Allow to change the piston push limit | tr7zw | |
| server | Alternative Keepalive Handling | William Blake Galbreath | |
@ -65,6 +62,7 @@ # Patches
| server | Optimize redstone algorithm | theosib | egg82 |
| server | Option for simpler Villagers | tr7zw | |
| server | Origami Server Config | Phoenix616 | |
| server | Per entity (type) collision settings | MrIvanPlays | tr7zw |
| server | Player-saving-async-FileIO | tr7zw | |
| server | Purpur config files | William Blake Galbreath | |
| server | Redirect Configs | tr7zw | |

View File

@ -1 +1 @@
Add-server-configuration&Remove-Streams-using-IntelliJ-IDEA
Remove-Streams-using-IntelliJ-IDEA

View File

@ -1 +1 @@
Akarin-configuration&Disable-the-Snooper&Avoid-double-I-O-operation-on-load-player-file&Remove-vanilla-profiler-callers&Swaps-the-predicate-order-of-collision&Remove-stream-for-ender-teleport&Remove-a-few-more-streams&Remove-Streams-using-IntelliJ-IDEA
Disable-the-Snooper&Avoid-double-I-O-operation-on-load-player-file&Remove-vanilla-profiler-callers&Swaps-the-predicate-order-of-collision&Remove-stream-for-ender-teleport&Remove-a-few-more-streams&Remove-Streams-using-IntelliJ-IDEA

View File

@ -6,7 +6,7 @@ Subject: [PATCH] Yatopia API Bundle
Lagging threshold + Purpur & Rainforest & Origami config
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..0770736b4b52f325027671b43f74ad038c97ce7f 100644
index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..59787c474f1a17dff156e74107f880ac083a7cb3 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1776,4 +1776,15 @@ public final class Bukkit {
@ -16,9 +16,9 @@ index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..0770736b4b52f325027671b43f74ad03
+
+ // Purpur start
+ /**
+ * Check if server is lagging according to laggy threshold setting
+ * Check if the server is lagging, according to the laggy threshold setting.
+ *
+ * @return True if lagging
+ * @return true if lagging
+ */
+ public static boolean isLagging() {
+ return server.isLagging();
@ -26,13 +26,25 @@ index 62cc1c74c11f56dcbd1e24e9c5478497742e6351..0770736b4b52f325027671b43f74ad03
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 1f916988bd54e8386011b0d7e82fc9219939a881..154c24a5a32450636b1c554df1bb5262fa05e9c8 100644
index 46c4d98ce32a0b1d8cfd391f2c7a9566a045cb55..3d06d68f41328e18994dc20dc407f60f6b08ada8 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1463,6 +1463,33 @@ public interface Server extends PluginMessageRecipient {
@@ -1455,6 +1455,47 @@ public interface Server extends PluginMessageRecipient {
}
// Akarin end - Server config
// Tuinity end - add config to timings report
+ // Akarin start
+ /**
+ * @deprecated yatopia does not import akarin config anymore
+ */
+ @Deprecated
+ @NotNull
+ public org.bukkit.configuration.file.YamlConfiguration getAkarinConfig()
+ {
+ return new org.bukkit.configuration.file.YamlConfiguration();
+ }
+ // Akarin end
+
+ // Rainforest start
+ @NotNull
+ public org.bukkit.configuration.file.YamlConfiguration getRainforestConfig()
@ -43,12 +55,14 @@ index 1f916988bd54e8386011b0d7e82fc9219939a881..154c24a5a32450636b1c554df1bb5262
+
+ // Purpur start
+ @NotNull
+ public org.bukkit.configuration.file.YamlConfiguration getPurpurConfig() {
+ public org.bukkit.configuration.file.YamlConfiguration getPurpurConfig()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @NotNull
+ public java.util.Properties getServerProperties() {
+ public java.util.Properties getServerProperties()
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+ // Purpur end
@ -63,17 +77,17 @@ index 1f916988bd54e8386011b0d7e82fc9219939a881..154c24a5a32450636b1c554df1bb5262
/**
* Sends the component to the player
*
@@ -1563,4 +1590,13 @@ public interface Server extends PluginMessageRecipient {
@@ -1555,4 +1596,13 @@ public interface Server extends PluginMessageRecipient {
@NotNull
com.destroystokyo.paper.entity.ai.MobGoals getMobGoals();
// Paper end
+
+ // Purpur start
+ /**
+ * Check if server is lagging according to laggy threshold setting
+ *
+ * @return True if lagging
+ */
+ * Check if the server is lagging, according to the laggy threshold setting.
+ *
+ * @return true if lagging
+ */
+ boolean isLagging();
+ // Purpur end
}

View File

@ -5,7 +5,7 @@ Subject: [PATCH] Add getLastTickMs api
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 0770736b4b52f325027671b43f74ad038c97ce7f..537e7fc9273b7e4ecc88eaad5b1a69d3864740d0 100644
index 59787c474f1a17dff156e74107f880ac083a7cb3..74bb5aa790d072c130a05d0e59afdb1cbf359440 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1787,4 +1787,10 @@ public final class Bukkit {
@ -20,11 +20,11 @@ index 0770736b4b52f325027671b43f74ad038c97ce7f..537e7fc9273b7e4ecc88eaad5b1a69d3
+ // Yatopia end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 154c24a5a32450636b1c554df1bb5262fa05e9c8..1eb935b3ba88918f04a075d47b0f514ddc8f2499 100644
index 3d06d68f41328e18994dc20dc407f60f6b08ada8..87174c63178ac2acd6dfd23d499e4c7efccaa981 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1599,4 +1599,13 @@ public interface Server extends PluginMessageRecipient {
*/
@@ -1605,4 +1605,13 @@ public interface Server extends PluginMessageRecipient {
*/
boolean isLagging();
// Purpur end
+

View File

@ -1223,7 +1223,7 @@ index 96ef22fe879c7be4f67bbb4d60c45ad11764dd5b..f506b644ad1aad53f9b41a642e37dfb5
* A ban list, containing bans of some {@link Type}.
*/
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 537e7fc9273b7e4ecc88eaad5b1a69d3864740d0..de5a8bafa69909b1eacff821652bc050d1f1052c 100644
index 74bb5aa790d072c130a05d0e59afdb1cbf359440..60b0ab4fdf7d36e8830e1fc7402a0242165bfa3e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -1,26 +1,10 @@
@ -1801,7 +1801,7 @@ index 6277451c3c6c551078c237cd767b6d70c4f585ea..17e6bf40b639fb4595c4871f4ff8a475
* Represents the three different types of Sandstone
*/
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 1eb935b3ba88918f04a075d47b0f514ddc8f2499..49dc27a23957c2a8fdcafc11bbfa19fcb88e0540 100644
index 87174c63178ac2acd6dfd23d499e4c7efccaa981..b87df8dbdbf0a00dbe1de8e2474e6394e544fd2f 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1,26 +1,10 @@

View File

@ -1,415 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Bud Gidiere <sgidiere@gmail.com>
Date: Sat, 8 Aug 2020 18:32:49 -0500
Subject: [PATCH] IntellaJ Code Clean Up
Do not try to update this. Just rebuild it.
diff --git a/src/main/java/com/destroystokyo/paper/util/SneakyThrow.java b/src/main/java/com/destroystokyo/paper/util/SneakyThrow.java
index 9db0056ab94145819628b3ad8d8d26130d117fcf..b27281a6538cb223f6dffbf3859366dedbbf75f1 100644
--- a/src/main/java/com/destroystokyo/paper/util/SneakyThrow.java
+++ b/src/main/java/com/destroystokyo/paper/util/SneakyThrow.java
@@ -5,7 +5,7 @@ import org.jetbrains.annotations.NotNull;
public class SneakyThrow {
public static void sneaky(@NotNull Throwable exception) {
- SneakyThrow.<RuntimeException>throwSneaky(exception);
+ SneakyThrow.throwSneaky(exception);
}
@SuppressWarnings("unchecked")
diff --git a/src/main/java/org/bukkit/Color.java b/src/main/java/org/bukkit/Color.java
index a0c4535901de29653cc10f8ec7b1349160d27256..b874623c0b3c9f342d4d099d6a0bd5dfedadd308 100644
--- a/src/main/java/org/bukkit/Color.java
+++ b/src/main/java/org/bukkit/Color.java
@@ -323,7 +323,7 @@ public final class Color implements ConfigurationSerializable {
@Override
@NotNull
public Map<String, Object> serialize() {
- return ImmutableMap.<String, Object>of(
+ return ImmutableMap.of(
"RED", getRed(),
"BLUE", getBlue(),
"GREEN", getGreen()
diff --git a/src/main/java/org/bukkit/FireworkEffect.java b/src/main/java/org/bukkit/FireworkEffect.java
index bd0d18d24b94f7412782749e94f73958396bc363..31cd3923cf88ed6f862bd67a3331217de4e3164f 100644
--- a/src/main/java/org/bukkit/FireworkEffect.java
+++ b/src/main/java/org/bukkit/FireworkEffect.java
@@ -287,7 +287,7 @@ public final class FireworkEffect implements ConfigurationSerializable {
flicker,
trail,
colors.build(),
- fadeColors == null ? ImmutableList.<Color>of() : fadeColors.build(),
+ fadeColors == null ? ImmutableList.of() : fadeColors.build(),
type
);
}
@@ -386,7 +386,7 @@ public final class FireworkEffect implements ConfigurationSerializable {
@NotNull
@Override
public Map<String, Object> serialize() {
- return ImmutableMap.<String, Object>of(
+ return ImmutableMap.of(
FLICKER, flicker,
TRAIL, trail,
COLORS, colors,
diff --git a/src/main/java/org/bukkit/Registry.java b/src/main/java/org/bukkit/Registry.java
index 495c36aee4c2590c62355d62daa8787ea057d191..2f91103a7615e7049031e70665e871d54e707841 100644
--- a/src/main/java/org/bukkit/Registry.java
+++ b/src/main/java/org/bukkit/Registry.java
@@ -174,7 +174,7 @@ public interface Registry<T extends Keyed> extends Iterable<T> {
private final Map<NamespacedKey, T> map;
protected SimpleRegistry(@NotNull Class<T> type) {
- this(type, Predicates.<T>alwaysTrue());
+ this(type, Predicates.alwaysTrue());
}
protected SimpleRegistry(@NotNull Class<T> type, @NotNull Predicate<T> predicate) {
diff --git a/src/main/java/org/bukkit/block/banner/Pattern.java b/src/main/java/org/bukkit/block/banner/Pattern.java
index e5327b59cfb7b5ed547e34a8c02d293a9b6fd22d..4de1b440cdab5dd53cdde26074c2b19690f08039 100644
--- a/src/main/java/org/bukkit/block/banner/Pattern.java
+++ b/src/main/java/org/bukkit/block/banner/Pattern.java
@@ -51,7 +51,7 @@ public class Pattern implements ConfigurationSerializable {
@NotNull
@Override
public Map<String, Object> serialize() {
- return ImmutableMap.<String, Object>of(
+ return ImmutableMap.of(
COLOR, color.toString(),
PATTERN, pattern.getIdentifier()
);
diff --git a/src/main/java/org/bukkit/command/SimpleCommandMap.java b/src/main/java/org/bukkit/command/SimpleCommandMap.java
index fcbc298043614da5f4bd849e9f65961da276e15e..839bc98509faa25cbbc8d0d6a312c485ce7e36af 100644
--- a/src/main/java/org/bukkit/command/SimpleCommandMap.java
+++ b/src/main/java/org/bukkit/command/SimpleCommandMap.java
@@ -227,7 +227,7 @@ public class SimpleCommandMap implements CommandMap {
return null;
}
- String[] args = cmdLine.substring(spaceIndex + 1, cmdLine.length()).split(" ", -1);
+ String[] args = cmdLine.substring(spaceIndex + 1).split(" ", -1);
try {
return target.tabComplete(sender, commandName, args, location);
diff --git a/src/main/java/org/bukkit/command/defaults/HelpCommand.java b/src/main/java/org/bukkit/command/defaults/HelpCommand.java
index e9da1efa1229ef0ffad16478dcb0679731585104..a3a2acd3cc2effc7b29075be597913c6d58bf0e8 100644
--- a/src/main/java/org/bukkit/command/defaults/HelpCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/HelpCommand.java
@@ -24,7 +24,7 @@ public class HelpCommand extends BukkitCommand {
super("help");
this.description = "Shows the help menu";
this.usageMessage = "/help <pageNumber>\n/help <topic>\n/help <topic> <pageNumber>";
- this.setAliases(Arrays.asList(new String[]{"?"}));
+ this.setAliases(Arrays.asList("?"));
this.setPermission("bukkit.command.help");
}
diff --git a/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java b/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java
index 555c6f37d5b9daf0f7231070ee79fcfd36e87bfc..b3bb35d0b0f134fb1ce0c6e9ac4cf88edaf34950 100644
--- a/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java
+++ b/src/main/java/org/bukkit/configuration/file/YamlConfiguration.java
@@ -55,7 +55,7 @@ public class YamlConfiguration extends FileConfiguration {
Map<?, ?> input;
try {
loaderOptions.setMaxAliasesForCollections(Integer.MAX_VALUE); // SPIGOT-5881: Not ideal, but was default pre SnakeYAML 1.26
- input = (Map<?, ?>) yaml.load(contents);
+ input = yaml.load(contents);
} catch (YAMLException e) {
throw new InvalidConfigurationException(e);
} catch (ClassCastException e) {
diff --git a/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java b/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
index f4f4ef18198c1fc40826df8f1327e0c8d6cbc69d..6fa5256ad04996aec1109af790d6accca18c2be1 100644
--- a/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
+++ b/src/main/java/org/bukkit/event/entity/PotionSplashEvent.java
@@ -38,7 +38,7 @@ public class PotionSplashEvent extends ProjectileHitEvent implements Cancellable
*/
@NotNull
public ThrownPotion getPotion() {
- return (ThrownPotion) getEntity();
+ return getEntity();
}
/**
diff --git a/src/main/java/org/bukkit/inventory/FurnaceRecipe.java b/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
index 860363507f4c5f7ffb5e8b65a4f6cec1cdfbc0b6..490cd398fe120744e3e3d415a732cd758a0d35ec 100644
--- a/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
+++ b/src/main/java/org/bukkit/inventory/FurnaceRecipe.java
@@ -97,6 +97,6 @@ public class FurnaceRecipe extends CookingRecipe<FurnaceRecipe> {
@NotNull
@Override
public FurnaceRecipe setInputChoice(@NotNull RecipeChoice input) {
- return (FurnaceRecipe) super.setInputChoice(input);
+ return super.setInputChoice(input);
}
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 428ceabb5355794317c855e962d7988c8b837c7f..0ee6b21151c306dbaed267e49dc4a3289bc1e962 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -354,7 +354,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
*/
@NotNull
public Map<Enchantment, Integer> getEnchantments() {
- return meta == null ? ImmutableMap.<Enchantment, Integer>of() : meta.getEnchants();
+ return meta == null ? ImmutableMap.of() : meta.getEnchants();
}
/**
@@ -492,7 +492,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
Material type;
if (version < 0) {
- type = Material.getMaterial(Material.LEGACY_PREFIX + (String) args.get("type"));
+ type = Material.getMaterial(Material.LEGACY_PREFIX + args.get("type"));
byte dataVal = (type != null && type.getMaxDurability() == 0) ? (byte) damage : 0; // Actually durable items get a 0 passed into conversion
type = Bukkit.getUnsafe().fromLegacy(new MaterialData(type, dataVal), true);
diff --git a/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java b/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java
index 9c59aec2525e1a71def39fd3dc71d40dc0b55dcb..42ccc6468d5f3430b9f6294f18c27bf216acfc47 100644
--- a/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java
+++ b/src/main/java/org/bukkit/inventory/StonecuttingRecipe.java
@@ -73,7 +73,7 @@ public class StonecuttingRecipe implements Recipe, Keyed {
@NotNull
public StonecuttingRecipe setInputChoice(@NotNull RecipeChoice input) {
this.ingredient = input;
- return (StonecuttingRecipe) this;
+ return this;
}
/**
diff --git a/src/main/java/org/bukkit/material/Mushroom.java b/src/main/java/org/bukkit/material/Mushroom.java
index 2b45156ee38abd9ec5a350fa59dfbef61bf07d90..2313d8f4d6bdfb3c86919d2c76bc2fccfec07337 100644
--- a/src/main/java/org/bukkit/material/Mushroom.java
+++ b/src/main/java/org/bukkit/material/Mushroom.java
@@ -106,7 +106,7 @@ public class Mushroom extends MaterialData {
*/
@Deprecated
public void setStem() {
- setData((byte) MushroomBlockTexture.STEM_SIDES.getData());
+ setData(MushroomBlockTexture.STEM_SIDES.getData());
}
/**
diff --git a/src/main/java/org/bukkit/material/Wood.java b/src/main/java/org/bukkit/material/Wood.java
index 5d51c9286dbf71ff4bb8717d5e83431b1815770e..aa5ab880c9063d01e4cb3bec4bcaae8501f58d07 100644
--- a/src/main/java/org/bukkit/material/Wood.java
+++ b/src/main/java/org/bukkit/material/Wood.java
@@ -74,7 +74,7 @@ public class Wood extends MaterialData {
switch (getItemType()) {
case LEGACY_WOOD:
case LEGACY_WOOD_DOUBLE_STEP:
- return TreeSpecies.getByData((byte) getData());
+ return TreeSpecies.getByData(getData());
case LEGACY_LOG:
case LEGACY_LEAVES:
return TreeSpecies.getByData((byte) (getData() & 0x3));
diff --git a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
index 9a40bea9e4b0a6123e33a4bc49774c841c28a5b5..80524019873e6b334e1a29b312f10886e3d4fcb9 100644
--- a/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
+++ b/src/main/java/org/bukkit/metadata/MetadataStoreBase.java
@@ -136,9 +136,7 @@ public abstract class MetadataStoreBase<T> {
Validate.notNull(owningPlugin, "Plugin cannot be null");
for (Iterator<Map<Plugin, MetadataValue>> iterator = metadataMap.values().iterator(); iterator.hasNext(); ) {
Map<Plugin, MetadataValue> values = iterator.next();
- if (values.containsKey(owningPlugin)) {
- values.remove(owningPlugin);
- }
+ values.remove(owningPlugin);
if (values.isEmpty()) {
iterator.remove();
}
diff --git a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
index 9d7ba043bf971e78f30ba751ea036ea54b54fe7d..3ca512bef3d31af56aee17e78c4ebe3bcf6ebde9 100644
--- a/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
+++ b/src/main/java/org/bukkit/plugin/PluginDescriptionFile.java
@@ -849,7 +849,7 @@ public final class PluginDescriptionFile {
public List<Permission> getPermissions() {
if (permissions == null) {
if (lazyPermissions == null) {
- permissions = ImmutableList.<Permission>of();
+ permissions = ImmutableList.of();
} else {
permissions = ImmutableList.copyOf(Permission.loadPermissions(lazyPermissions, "Permission node '%s' in plugin description file for " + getFullName() + " is invalid", defaultPerm));
lazyPermissions = null;
@@ -1005,15 +1005,15 @@ public final class PluginDescriptionFile {
}
if (map.get("commands") != null) {
- ImmutableMap.Builder<String, Map<String, Object>> commandsBuilder = ImmutableMap.<String, Map<String, Object>>builder();
+ ImmutableMap.Builder<String, Map<String, Object>> commandsBuilder = ImmutableMap.builder();
try {
for (Map.Entry<?, ?> command : ((Map<?, ?>) map.get("commands")).entrySet()) {
- ImmutableMap.Builder<String, Object> commandBuilder = ImmutableMap.<String, Object>builder();
+ ImmutableMap.Builder<String, Object> commandBuilder = ImmutableMap.builder();
if (command.getValue() != null) {
for (Map.Entry<?, ?> commandEntry : ((Map<?, ?>) command.getValue()).entrySet()) {
if (commandEntry.getValue() instanceof Iterable) {
// This prevents internal alias list changes
- ImmutableList.Builder<Object> commandSubList = ImmutableList.<Object>builder();
+ ImmutableList.Builder<Object> commandSubList = ImmutableList.builder();
for (Object commandSubListItem : (Iterable<?>) commandEntry.getValue()) {
if (commandSubListItem != null) {
commandSubList.add(commandSubListItem);
@@ -1060,7 +1060,7 @@ public final class PluginDescriptionFile {
}
if (map.get("authors") != null) {
- ImmutableList.Builder<String> authorsBuilder = ImmutableList.<String>builder();
+ ImmutableList.Builder<String> authorsBuilder = ImmutableList.builder();
if (map.get("author") != null) {
authorsBuilder.add(map.get("author").toString());
}
@@ -1077,11 +1077,11 @@ public final class PluginDescriptionFile {
} else if (map.get("author") != null) {
authors = ImmutableList.of(map.get("author").toString());
} else {
- authors = ImmutableList.<String>of();
+ authors = ImmutableList.of();
}
if (map.get("contributors") != null) {
- ImmutableList.Builder<String> contributorsBuilder = ImmutableList.<String>builder();
+ ImmutableList.Builder<String> contributorsBuilder = ImmutableList.builder();
try {
for (Object o : (Iterable<?>) map.get("contributors")) {
contributorsBuilder.add(o.toString());
@@ -1091,7 +1091,7 @@ public final class PluginDescriptionFile {
}
contributors = contributorsBuilder.build();
} else {
- contributors = ImmutableList.<String>of();
+ contributors = ImmutableList.of();
}
if (map.get("default-permission") != null) {
@@ -1138,7 +1138,7 @@ public final class PluginDescriptionFile {
return ImmutableList.of();
}
- final ImmutableList.Builder<String> builder = ImmutableList.<String>builder();
+ final ImmutableList.Builder<String> builder = ImmutableList.builder();
try {
for (final Object entry : (Iterable<?>) value) {
builder.add(entry.toString().replace(' ', '_'));
diff --git a/src/main/java/org/bukkit/plugin/SimpleServicesManager.java b/src/main/java/org/bukkit/plugin/SimpleServicesManager.java
index aaa95ca8b99d62b3dfb7b689e09d077b75aa90b5..093dcc0ec5df5ab683636a15697a85abb6d3a4e3 100644
--- a/src/main/java/org/bukkit/plugin/SimpleServicesManager.java
+++ b/src/main/java/org/bukkit/plugin/SimpleServicesManager.java
@@ -242,7 +242,7 @@ public class SimpleServicesManager implements ServicesManager {
@Override
@NotNull
public List<RegisteredServiceProvider<?>> getRegistrations(@NotNull Plugin plugin) {
- ImmutableList.Builder<RegisteredServiceProvider<?>> ret = ImmutableList.<RegisteredServiceProvider<?>>builder();
+ ImmutableList.Builder<RegisteredServiceProvider<?>> ret = ImmutableList.builder();
synchronized (providers) {
for (List<RegisteredServiceProvider<?>> registered : providers.values()) {
for (RegisteredServiceProvider<?> provider : registered) {
@@ -272,10 +272,10 @@ public class SimpleServicesManager implements ServicesManager {
List<RegisteredServiceProvider<?>> registered = providers.get(service);
if (registered == null) {
- return ImmutableList.<RegisteredServiceProvider<T>>of();
+ return ImmutableList.of();
}
- ret = ImmutableList.<RegisteredServiceProvider<T>>builder();
+ ret = ImmutableList.builder();
for (RegisteredServiceProvider<?> provider : registered) {
ret.add((RegisteredServiceProvider<T>) provider);
@@ -295,7 +295,7 @@ public class SimpleServicesManager implements ServicesManager {
@NotNull
public Set<Class<?>> getKnownServices() {
synchronized (providers) {
- return ImmutableSet.<Class<?>>copyOf(providers.keySet());
+ return ImmutableSet.copyOf(providers.keySet());
}
}
diff --git a/src/test/java/org/bukkit/ChatColorTest.java b/src/test/java/org/bukkit/ChatColorTest.java
index a39d52e724879a97ca09ebe215897f3ece302552..027be750a811d4681407221405430255047064b1 100644
--- a/src/test/java/org/bukkit/ChatColorTest.java
+++ b/src/test/java/org/bukkit/ChatColorTest.java
@@ -17,7 +17,7 @@ public class ChatColorTest {
@Test(expected = IllegalArgumentException.class)
public void getByStringWithNull() {
- ChatColor.getByChar((String) null);
+ ChatColor.getByChar(null);
}
@Test(expected = IllegalArgumentException.class)
diff --git a/src/test/java/org/bukkit/LocationTest.java b/src/test/java/org/bukkit/LocationTest.java
index a5b56467755d87c270a7f84fc2326e7a92343bc1..804b91c617e4d73b43db6d02c5a48a3d2ffa25df 100644
--- a/src/test/java/org/bukkit/LocationTest.java
+++ b/src/test/java/org/bukkit/LocationTest.java
@@ -43,7 +43,7 @@ public class LocationTest {
public static List<Object[]> data() {
Random RANDOM = new Random(1L); // Test is deterministic
int r = 0;
- return ImmutableList.<Object[]>of(
+ return ImmutableList.of(
new Object[]{"X",
1, 0, 0,
270, 0
diff --git a/src/test/java/org/bukkit/event/PlayerChatTabCompleteEventTest.java b/src/test/java/org/bukkit/event/PlayerChatTabCompleteEventTest.java
index 66008139243be58101354e2194f6d876de97213f..4347062453e6c583ec67d039249ebc39f48dd025 100644
--- a/src/test/java/org/bukkit/event/PlayerChatTabCompleteEventTest.java
+++ b/src/test/java/org/bukkit/event/PlayerChatTabCompleteEventTest.java
@@ -22,6 +22,6 @@ public class PlayerChatTabCompleteEventTest {
}
private String getToken(String message) {
- return new PlayerChatTabCompleteEvent(TestPlayer.getInstance(), message, ImmutableList.<String>of()).getLastToken();
+ return new PlayerChatTabCompleteEvent(TestPlayer.getInstance(), message, ImmutableList.of()).getLastToken();
}
}
diff --git a/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java b/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
index 2e6af3a7389a51dce97ed57bb86661fb8907ae10..2a2f18f4f59456b1e5f66b8c0c67d83cb70491ad 100644
--- a/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
+++ b/src/test/java/org/bukkit/util/StringUtilStartsWithTest.java
@@ -17,7 +17,7 @@ public class StringUtilStartsWithTest {
@Parameters(name = "{index}: {0} startsWith {1} == {2}")
public static List<Object[]> data() {
- return ImmutableList.<Object[]>of(
+ return ImmutableList.of(
new Object[] {
"Apple",
"Apples",
diff --git a/src/test/java/org/bukkit/util/StringUtilTest.java b/src/test/java/org/bukkit/util/StringUtilTest.java
index e269e7615cf88930f84fb73fe461f1bbe2387203..84c08fc7d54e41d71bdfb49c556f890dce421412 100644
--- a/src/test/java/org/bukkit/util/StringUtilTest.java
+++ b/src/test/java/org/bukkit/util/StringUtilTest.java
@@ -25,7 +25,7 @@ public class StringUtilTest {
@Test(expected = IllegalArgumentException.class)
public void nullCollectionTest() {
- StringUtil.copyPartialMatches("Token", ImmutableList.<String>of(), null);
+ StringUtil.copyPartialMatches("Token", ImmutableList.of(), null);
}
@Test(expected = IllegalArgumentException.class)
@@ -35,7 +35,7 @@ public class StringUtilTest {
@Test(expected = IllegalArgumentException.class)
public void nullTokenTest() {
- StringUtil.copyPartialMatches(null, ImmutableList.<String>of(), new ArrayList<String>());
+ StringUtil.copyPartialMatches(null, ImmutableList.of(), new ArrayList<String>());
}
@Test
diff --git a/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java b/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
index 2f42b8bf14c6ed01a430096e36fc3fcc0026fc2a..ab83aa3685137d3d0bd3a6fe12ae4e01b89dfc3d 100644
--- a/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
+++ b/src/test/java/org/bukkit/util/io/BukkitObjectStreamTest.java
@@ -25,7 +25,7 @@ public class BukkitObjectStreamTest {
@Parameters(name = "{index}: {0}")
public static List<Object[]> data() {
- return ImmutableList.<Object[]>of(
+ return ImmutableList.of(
new Object[] {
Color.class.getName(),
"rO0ABXNyADZjb20uZ29vZ2xlLmNvbW1vbi5jb2xsZWN0LkltbXV0YWJsZUxpc3QkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAVsACGVsZW1lbnRzdAATW0xqYXZhL2xhbmcvT2JqZWN0O3hwdXIAE1tMamF2YS5sYW5nLk9iamVjdDuQzlifEHMpbAIAAHhwAAAABXNyABpvcmcuYnVra2l0LnV0aWwuaW8uV3JhcHBlcvJQR+zxEm8FAgABTAADbWFwdAAPTGphdmEvdXRpbC9NYXA7eHBzcgA1Y29tLmdvb2dsZS5jb21tb24uY29sbGVjdC5JbW11dGFibGVNYXAkU2VyaWFsaXplZEZvcm0AAAAAAAAAAAIAAlsABGtleXNxAH4AAVsABnZhbHVlc3EAfgABeHB1cQB+AAMAAAAEdAACPT10AANSRUR0AARCTFVFdAAFR1JFRU51cQB+AAMAAAAEdAAFQ29sb3JzcgARamF2YS5sYW5nLkludGVnZXIS4qCk94GHOAIAAUkABXZhbHVleHIAEGphdmEubGFuZy5OdW1iZXKGrJUdC5TgiwIAAHhwAAAA/3NxAH4AEQAAAP9zcQB+ABEAAAD/c3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAAHNxAH4AEQAAAIBzcQB+ABEAAACAc3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAAgHNxAH4AEQAAAIBxAH4AGnNxAH4ABXNxAH4ACHVxAH4AAwAAAARxAH4AC3EAfgAMcQB+AA1xAH4ADnVxAH4AAwAAAARxAH4AEHNxAH4AEQAAAP9xAH4AGnEAfgAac3EAfgAFc3EAfgAIdXEAfgADAAAABHEAfgALcQB+AAxxAH4ADXEAfgAOdXEAfgADAAAABHEAfgAQc3EAfgARAAAA/3EAfgAac3EAfgARAAAApQ==",

View File

@ -5,33 +5,17 @@ Subject: [PATCH] Yatopia-Server-Fixes
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java
index 841a8d2b392acdcef90592b841cbbcb2237c6901..88513b8830ea666ddf831771680b6e76e7cf95f0 100644
index 5dfa0658838c4801cdf260eae8b98163f729e5af..88513b8830ea666ddf831771680b6e76e7cf95f0 100644
--- a/src/main/java/co/aikar/timings/TimingsExport.java
+++ b/src/main/java/co/aikar/timings/TimingsExport.java
@@ -231,7 +231,7 @@ public class TimingsExport extends Thread {
@@ -231,6 +231,7 @@ public class TimingsExport extends Thread {
pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report
pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)) // Tuinity - add config to timings report
- , pair("akarin", mapAsJSON(Bukkit.spigot().getAkarinConfig(), null)) // Akarin - Server config
+ , pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null)) // Yatopia - add config to timings report
));
new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/co/aikar/timings/TimingsExport.java.rej b/src/main/java/co/aikar/timings/TimingsExport.java.rej
deleted file mode 100644
index 572780ca665c0fb254cc7431af3dd7759a94f26c..0000000000000000000000000000000000000000
--- a/src/main/java/co/aikar/timings/TimingsExport.java.rej
+++ /dev/null
@@ -1,9 +0,0 @@
-diff a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java (rejected hunks)
-@@ -230,6 +230,7 @@ public class TimingsExport extends Thread {
- pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)),
- pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)),
- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null))
-+ , pair("rainforest", mapAsJSON(Bukkit.spigot().getRainforestConfig(), null)) // Rainforest
- ));
-
- new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/com/destroystokyo/paper/PaperCommand.java b/src/main/java/com/destroystokyo/paper/PaperCommand.java
index f81bd67a323f2e72bdad76c52016993a0bf88307..98a898f8b8469969e5eb388edb818e519ff68681 100644
--- a/src/main/java/com/destroystokyo/paper/PaperCommand.java
@ -206,33 +190,6 @@ index d1152585c5f482e554966f965561626c78ac4d3a..00000000000000000000000000000000
- this.world.timings.countNaturalMobs.startTiming(); // Paper - timings
- int l = this.chunkMapDistance.b();
- // Paper start - per player mob spawning
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 77b6e4dd34893f0959574f95078bc3fa6896e69c..7ac6ef0a125499de4b5e6a9ed80f963ba623b9f6 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -181,6 +181,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
// Paper end
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
app.akarin.server.Config.init((java.io.File) options.valueOf("akarin-settings")); // Akarin - Server Config
+ com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Rainforest
this.setPVP(dedicatedserverproperties.pvp);
this.setAllowFlight(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java.rej b/src/main/java/net/minecraft/server/DedicatedServer.java.rej
deleted file mode 100644
index 4c2d5b3e080c925d687733ec40d4fb4b22552c96..0000000000000000000000000000000000000000
--- a/src/main/java/net/minecraft/server/DedicatedServer.java.rej
+++ /dev/null
@@ -1,9 +0,0 @@
-diff a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java (rejected hunks)
-@@ -170,6 +170,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
- com.destroystokyo.paper.PaperConfig.registerCommands();
- com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now
- // Paper end
-+ com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Rainforest
-
- this.setPVP(dedicatedserverproperties.pvp);
- this.setAllowFlight(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java
index 70ae2923e21d7a0312e629a903ca9e380d6c6114..d906c5e530c2e7f779df079223aee619a73b5d51 100644
--- a/src/main/java/net/minecraft/server/EntityVillager.java
@ -628,32 +585,28 @@ index bada470cba41cce9beb9eb04227b42c1d489d731..00000000000000000000000000000000
- private int c;
- private TileEntityShulkerBox.AnimationPhase i;
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index e789a828c31388810ed6a7a79e3a8f4557c62b62..9c42c2c027868e0357d2c75c1d477eecf358f1b4 100644
index 9ae62bd4a6742eb77082867da6edb94c29aa2d9b..197726bdfcb887a1daac1352726f33ef08fa32b1 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -97,6 +97,9 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -97,6 +97,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config
public final app.akarin.server.Config.WorldConfig akarinConfig; // Akarin - Server Config
+ public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur
public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur
+ public final de.minebench.origami.OrigamiConfig.WorldConfig origamiConfig; // Origami - World Config
+ public final RainforestWorldConfig rainforestConfig; // Rainforest
public final co.aikar.timings.WorldTimingsHandler timings; // Paper
public static BlockPosition lastPhysicsProblem; // Spigot
@@ -127,6 +130,11 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -127,6 +129,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
this.chunkPacketBlockController = this.paperConfig.antiXray ? new ChunkPacketBlockControllerAntiXray(this.paperConfig, executor) : ChunkPacketBlockController.NO_OPERATION_INSTANCE; // Paper - Anti-Xray
this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Tuinity - Server Config
this.akarinConfig = new app.akarin.server.Config.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Akarin - Server Config
+ this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((WorldDataServer)worlddatamutable).getName())); // Purpur
this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((WorldDataServer)worlddatamutable).getName())); // Purpur
+ this.origamiConfig = new de.minebench.origami.OrigamiConfig.WorldConfig(((WorldDataServer)worlddatamutable).getName()); // Origami - World Config
+ this.rainforestConfig = new RainforestWorldConfig((((WorldDataServer)worlddatamutable).getName()), this.paperConfig); // Rainforest
+
+
+ this.rainforestConfig = new RainforestWorldConfig(((WorldDataServer)worlddatamutable).getName(), paperConfig); // Rainforest
this.generator = gen;
this.world = new CraftWorld((WorldServer) this, gen, env);
this.ticksPerAnimalSpawns = this.getServer().getTicksPerAnimalSpawns(); // CraftBukkit
@@ -641,6 +649,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -641,6 +645,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public void b(BlockPosition blockposition, IBlockData iblockdata, IBlockData iblockdata1) {}
@ -661,7 +614,7 @@ index e789a828c31388810ed6a7a79e3a8f4557c62b62..9c42c2c027868e0357d2c75c1d477eec
public void applyPhysics(BlockPosition blockposition, Block block) {
if (captureBlockStates) { return; } // Paper - Cancel all physics during placement
this.a(blockposition.west(), block, blockposition);
@@ -678,6 +687,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -678,6 +683,7 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
}
@ -885,56 +838,42 @@ index 120d0df27e76c9beef9f09e6cdc0972454fdd4ca..00000000000000000000000000000000
- }
-
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index afaa6ab4744190b134aeb616a1355cefd1333e37..4153c9f6ab5876e96b745f9270ed1003dcfa2950 100644
index f3a3a42c346353d699163317efad0e88f666924f..8fab87414b78c2e9bbe6fe98c70bfa6a3ba5313b 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -836,6 +836,9 @@ public final class CraftServer implements Server {
@@ -836,6 +836,8 @@ public final class CraftServer implements Server {
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config
app.akarin.server.Config.init((File) console.options.valueOf("akarin-settings")); // Akarin - Server Config
+ net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
+ de.minebench.origami.OrigamiConfig.init((File) console.options.valueOf("origami-settings")); // Origami - Server Config
+ com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest
for (WorldServer world : console.getWorlds()) {
world.worldDataServer.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
@@ -872,6 +875,9 @@ public final class CraftServer implements Server {
@@ -872,6 +874,8 @@ public final class CraftServer implements Server {
world.paperConfig.init(); // Paper
world.tuinityConfig.init(); // Tuinity - Server Config
world.akarinConfig.init(); // Akarin - Server Config
+ world.rainforestConfig.init(); // Rainforest
+ world.purpurConfig.init(); // Purpur
world.purpurConfig.init(); // Purpur
+ world.origamiConfig.init(); // Origami - World Config
+ world.rainforestConfig.init(); // Rainforest
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -2249,6 +2255,25 @@ public final class CraftServer implements Server {
@@ -2253,6 +2257,13 @@ public final class CraftServer implements Server {
}
// Akarin End - Server Config
// Purpur end
+ // Rainforest start
+ @Override
+ public YamlConfiguration getRainforestConfig() {
+ return com.proximyst.rainforest.RainforestConfig.config;
+ }
+ // Rainforest end
+
+ // Purpur start
+ @Override
+ public YamlConfiguration getPurpurConfig() {
+ return net.pl3x.purpur.PurpurConfig.config;
+ return com.proximyst.rainforest.RainforestConfig.config;
+ }
+ /*@Override
+ public java.util.Properties getServerProperties() {
+ return getProperties().properties;
+ }*/
+ // Purpur end
+
+ // Rainforest end
+
@Override
public void restart() {
org.spigotmc.RestartCommand.restart();
@@ -2388,4 +2413,11 @@ public final class CraftServer implements Server {
@@ -2392,4 +2403,11 @@ public final class CraftServer implements Server {
return mobGoals;
}
// Paper end
@ -946,45 +885,8 @@ index afaa6ab4744190b134aeb616a1355cefd1333e37..4153c9f6ab5876e96b745f9270ed1003
+ }
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej b/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej
deleted file mode 100644
index a3c8dfd94f78b49341e5f5aba1735651096c9d70..0000000000000000000000000000000000000000
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java.rej
+++ /dev/null
@@ -1,31 +0,0 @@
-diff a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java (rejected hunks)
-@@ -848,6 +848,7 @@ public final class CraftServer implements Server {
-
- org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
- com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
-+ com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest
- for (WorldServer world : console.getWorlds()) {
- world.worldDataServer.setDifficulty(config.difficulty);
- world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
-@@ -882,6 +883,7 @@ public final class CraftServer implements Server {
- }
- world.spigotConfig.init(); // Spigot
- world.paperConfig.init(); // Paper
-+ world.rainforestConfig.init(); // Rainforest
- }
-
- Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
-@@ -2238,6 +2240,13 @@ public final class CraftServer implements Server {
- return com.destroystokyo.paper.PaperConfig.config;
- }
-
-+ // Rainforest start
-+ @Override
-+ public YamlConfiguration getRainforestConfig() {
-+ return com.proximyst.rainforest.RainforestConfig.config;
-+ }
-+ // Rainforest end
-+
- @Override
- public void restart() {
- org.spigotmc.RestartCommand.restart();
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 2d12ad72be927712d38d6fb6991f4af7a196fb9b..1a454f74b322605b1006da5be13760b13cc5f931 100644
index af1d37720fe8ea68bea8cad94ddf4ed907f98696..5ba71b957001a91c46970b5aab30dadb7a488f0d 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -138,6 +138,7 @@ public class Main {
@ -995,9 +897,9 @@ index 2d12ad72be927712d38d6fb6991f4af7a196fb9b..1a454f74b322605b1006da5be13760b1
// Tuinity Start - Server Config
acceptsAll(asList("tuinity", "tuinity-settings"), "File for tuinity settings")
.withRequiredArg()
@@ -154,6 +155,22 @@ public class Main {
@@ -154,6 +155,30 @@ public class Main {
.describedAs("Yml file");
// Akarin End - Server Config
// Purpur end
+ // Origami Start - Server Config
+ acceptsAll(asList("origami", "origami-settings"), "File for origami settings")
@ -1014,29 +916,15 @@ index 2d12ad72be927712d38d6fb6991f4af7a196fb9b..1a454f74b322605b1006da5be13760b1
+ .defaultsTo(new File("purpur.yml"))
+ .describedAs("Yml file");
+ // Purpur end
+
+ // Rainforest start
+ acceptsAll(asList("rainforest", "rainforest-settings"), "File for rainforest settings")
+ .withRequiredArg()
+ .ofType(File.class)
+ .defaultsTo(new File("rainforest.yml"))
+ .describedAs("Yml file");
+ // Rainforest end
+
// Paper start
acceptsAll(asList("server-name"), "Name of the server")
.withRequiredArg()
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java.rej b/src/main/java/org/bukkit/craftbukkit/Main.java.rej
deleted file mode 100644
index 916603085d652444027e4513b77293ece84a6c4f..0000000000000000000000000000000000000000
--- a/src/main/java/org/bukkit/craftbukkit/Main.java.rej
+++ /dev/null
@@ -1,16 +0,0 @@
-diff a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java (rejected hunks)
-@@ -139,6 +139,14 @@ public class Main {
- .describedAs("Yml file");
- // Paper end
-
-+ // Rainforest start
-+ acceptsAll(asList("rainforest", "rainforest-settings"), "File for rainforest settings")
-+ .withRequiredArg()
-+ .ofType(File.class)
-+ .defaultsTo(new File("rainforest.yml"))
-+ .describedAs("Yml file");
-+ // Rainforest end
-+
- // Paper start
- acceptsAll(asList("server-name"), "Name of the server")
- .withRequiredArg()

View File

@ -57,7 +57,7 @@ index 5960ed2e91008b363dad900c72064055413eafd9..ee6a2dbc1306871d9ba621f199054bef
public CrashReport b(CrashReport crashreport) {
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 4153c9f6ab5876e96b745f9270ed1003dcfa2950..19d101e02183c04df3f21575356900a262031407 100644
index 8fab87414b78c2e9bbe6fe98c70bfa6a3ba5313b..65b4c4ac062600f7b671f8d4144af575d9f6facd 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -217,7 +217,7 @@ import javax.annotation.Nullable; // Paper

View File

@ -28,10 +28,10 @@ index ee6a2dbc1306871d9ba621f199054befb09744c2..26ee6e9219059c9f7175148e934d2ade
this.X = true;
// Purpur start - tps catchup
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 19d101e02183c04df3f21575356900a262031407..24b0fe67f2ea0a109fa32feb6ced0290cac7e8b7 100644
index 65b4c4ac062600f7b671f8d4144af575d9f6facd..856e0ba3cfe6225d9928cb99b2d7a00a8fcd6a03 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2420,4 +2420,11 @@ public final class CraftServer implements Server {
@@ -2410,4 +2410,11 @@ public final class CraftServer implements Server {
return getServer().lagging;
}
// Purpur end

View File

@ -18,7 +18,7 @@ index 88513b8830ea666ddf831771680b6e76e7cf95f0..6a110318441a16cc3ff7dfa236476827
new TimingsExport(listeners, parent, history).start();
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaCommand.java b/src/main/java/dev/tr7zw/yatopia/YatopiaCommand.java
new file mode 100644
index 0000000000000000000000000000000000000000..1e88bc1a89eada5008ffe88f7ed32e107b2fb10c
index 0000000000000000000000000000000000000000..eca581513324401e1c6b3e818ba9ea6e9925490f
--- /dev/null
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaCommand.java
@@ -0,0 +1,129 @@
@ -145,7 +145,7 @@ index 0000000000000000000000000000000000000000..1e88bc1a89eada5008ffe88f7ed32e10
+ Command.broadcastCommandMessage(sender, ChatColor.RED + "If you encounter any issues please use the /stop command to restart your server.");
+
+ MinecraftServer console = MinecraftServer.getServer();
+ dev.tr7zw.yatopia.YatopiaConfig.init(new File("yatopia.yml"));
+ dev.tr7zw.yatopia.YatopiaConfig.init((File) console.options.valueOf("yatopia-settings"));
+ console.server.reloadCount++;
+
+ Command.broadcastCommandMessage(sender, ChatColor.GREEN + "Yatopia config reload complete.");
@ -154,42 +154,33 @@ index 0000000000000000000000000000000000000000..1e88bc1a89eada5008ffe88f7ed32e10
\ No newline at end of file
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
new file mode 100644
index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6384f40d9
index 0000000000000000000000000000000000000000..556cf9f17501f13a19a05bf804edcb9c9bf7fe4e
--- /dev/null
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -0,0 +1,209 @@
@@ -0,0 +1,210 @@
+package dev.tr7zw.yatopia;
+
+import com.destroystokyo.paper.io.chunk.ChunkTaskManager;
+import com.google.common.base.Strings;
+import com.google.common.base.Throwables;
+
+import net.minecraft.server.MinecraftServer;
+
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.nio.charset.StandardCharsets;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+import java.util.logging.Level;
+import java.util.regex.Pattern;
+
+import com.google.common.collect.Lists;
+import net.minecraft.server.MinecraftServer;
+import org.bukkit.Bukkit;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.configuration.ConfigurationSection;
+import org.bukkit.configuration.InvalidConfigurationException;
+import org.bukkit.configuration.file.YamlConfiguration;
+import co.aikar.timings.Timings;
+import co.aikar.timings.TimingsManager;
+import org.spigotmc.SpigotConfig;
+import org.spigotmc.WatchdogThread;
+
+public class YatopiaConfig {
+
@ -199,9 +190,9 @@ index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6
+ + "You have been warned!\n";
+ /*========================================================================*/
+ public static YamlConfiguration config;
+ static int version;
+ public static int version; // since we're remapping sidestreams' configs we need this public
+ static Map<String, Command> commands;
+ private static boolean verbose;
+ public static boolean verbose; // since we're remapping sidestreams' configs we need this public
+ private static boolean fatalError;
+ /*========================================================================*/
+ private static boolean metricsStarted;
@ -225,9 +216,29 @@ index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6
+
+ version = getInt("config-version", 1);
+ set("config-version", 1);
+ removeLeftovers();
+ readConfig(YatopiaConfig.class, null);
+ }
+
+ private static void removeLeftovers() {
+ // this method is only to remove non-used values in the config
+
+ // leftover from akarin / rainforest
+ if (config.get("world-settings") != null) {
+ set("world-settings", null);
+ }
+ // unused settings getting removed
+ if (config.get("settings.disablePlayerOutOfWorldBorderCheck") != null) {
+ set("settings.disablePlayerOutOfWorldBorderCheck", null);
+ }
+ if (config.get("settings.disableEntityCollisions") != null) {
+ set("settings.disableEntityCollisions", null);
+ }
+ if (config.get("settings.onlyPlayerCollisions") != null) {
+ set("settings.onlyPlayerCollisions", null);
+ }
+ }
+
+ protected static void logError(String s) {
+ Bukkit.getLogger().severe(s);
+ }
@ -338,7 +349,7 @@ index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6
+
+ private static <T> List getList(String path, T def) {
+ config.addDefault(path, def);
+ return (List<T>) config.getList(path, config.getList(path));
+ return config.getList(path, config.getList(path));
+ }
+
+ private static String getString(String path, String def) {
@ -351,16 +362,6 @@ index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6
+ disableEntityStuckChecks = getBoolean("settings.disableEntityStuckChecks", false);
+ }
+
+ public static boolean disablePlayerOutOfWorldBorderCheck = false;
+ private static void disablePlayerOutOfWorldBorderCheck() {
+ disablePlayerOutOfWorldBorderCheck = getBoolean("settings.disablePlayerOutOfWorldBorderCheck", false);
+ }
+
+ public static boolean disableEntityCollisions = false;
+ private static void disableEntityCollisions() {
+ disableEntityCollisions = getBoolean("settings.disableEntityCollisions", false);
+ }
+
+ public static boolean disableEntityCollisionboxes = false;
+ private static void disableEntityCollisionboxes() {
+ disableEntityCollisionboxes = getBoolean("settings.disableEntityCollisionboxes", false);
@ -369,29 +370,20 @@ index 0000000000000000000000000000000000000000..19bea6ee83d8b25da022662253328fb6
+}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 7ac6ef0a125499de4b5e6a9ed80f963ba623b9f6..0170f25a694e757798ebd4a37c90b1c1e479d3bd 100644
index 21dc3b9a638c7ca5e2da56c954088f2f367f05e4..c3becefce8143f34ed2b1093dd22227b7309629c 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -7,6 +7,7 @@ import com.mojang.authlib.GameProfileRepository;
import com.mojang.authlib.minecraft.MinecraftSessionService;
import com.mojang.datafixers.DataFixer;
import java.io.BufferedReader;
+import java.io.File;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.InetAddress;
@@ -182,7 +183,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -181,6 +181,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
// Paper end
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
app.akarin.server.Config.init((java.io.File) options.valueOf("akarin-settings")); // Akarin - Server Config
com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Rainforest
-
+ // Yatopia start
+ try {
+ dev.tr7zw.yatopia.YatopiaConfig.init(new File("yatopia.yml"));
+ } catch (Exception e) {
+ dev.tr7zw.yatopia.YatopiaConfig.init((java.io.File) options.valueOf("yatopia-settings"));
+ } catch (Exception e) {
+ DedicatedServer.LOGGER.error("Unable to load server configuration", e);
+ return false;
+ }
+ }
+ dev.tr7zw.yatopia.YatopiaConfig.registerCommands();
+ // Yatopia end
this.setPVP(dedicatedserverproperties.pvp);
@ -430,3 +422,34 @@ index 732a7747fd0360deec8237c80bc93fb9f06b5320..c30fee13723cef0f03eb5a87851158cf
if (this.isFireProof() || this.world.isClientSide) {
this.extinguish();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 856e0ba3cfe6225d9928cb99b2d7a00a8fcd6a03..6f4c1bbf39af205ad15318eac667117dd332bb12 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -838,6 +838,7 @@ public final class CraftServer implements Server {
net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur
de.minebench.origami.OrigamiConfig.init((File) console.options.valueOf("origami-settings")); // Origami - Server Config
com.proximyst.rainforest.RainforestConfig.init((File) console.options.valueOf("rainforest-settings")); // Rainforest
+ dev.tr7zw.yatopia.YatopiaConfig.init((File) console.options.valueOf("yatopia-settings")); // Yatopia
for (WorldServer world : console.getWorlds()) {
world.worldDataServer.setDifficulty(config.difficulty);
world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals);
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 5ba71b957001a91c46970b5aab30dadb7a488f0d..c4495f89898861c385b32e70d3b6a3f12b91bdd3 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -179,6 +179,14 @@ public class Main {
.describedAs("Yml file");
// Rainforest end
+ // Yatopia start
+ acceptsAll(asList("yatopia", "yatopia-settings"), "File for yatopia settings")
+ .withRequiredArg()
+ .ofType(File.class)
+ .defaultsTo(new File("yatopia.yml"))
+ .describedAs("Yml file");
+ // Yatopia end
+
// Paper start
acceptsAll(asList("server-name"), "Name of the server")
.withRequiredArg()

View File

@ -1,102 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: tr7zw <tr7zw@live.de>
Date: Fri, 31 Jul 2020 21:25:13 -0500
Subject: [PATCH] Add option for only players to have collisions with
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 19bea6ee83d8b25da022662253328fb6384f40d9..2cee6e02a7dcbacb5f002f9c5917a2e26bcf2c82 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -206,4 +206,8 @@ public class YatopiaConfig {
disableEntityCollisionboxes = getBoolean("settings.disableEntityCollisionboxes", false);
}
+ public static boolean onlyPlayerCollisions = false;
+ private static void onlyPlayerCollisions() {
+ onlyPlayerCollisions = getBoolean("settings.onlyPlayerCollisions", false);
+ }
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index c30fee13723cef0f03eb5a87851158cf347fae3c..7ebd715dd2675e0f4fc73344f7068c6b908b59a9 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2843,40 +2843,46 @@ public abstract class EntityLiving extends Entity {
if (i <= 0 && world.paperConfig.maxCollisionsPerEntity <= 0) {
return;
}
- // Paper - end don't run getEntities if we're not going to use its result
+ // Tuinity - end don't run getEntities if we're not going to use its result
+ // Yatopia start
// Tuinity start - reduce memory allocation from collideNearby
List<Entity> list = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
- this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this), list);
try {
- // Tuinity end - reduce memory allocation from collideNearby
-
- if (!list.isEmpty()) {
- // Paper - move up
- int j;
-
- if (i > 0 && list.size() > i - 1 && this.random.nextInt(4) == 0) {
- j = 0;
-
- for (int k = 0; k < list.size(); ++k) {
- if (!((Entity) list.get(k)).isPassenger()) {
- ++j;
- }
- }
-
- if (j > i - 1) {
- this.damageEntity(DamageSource.CRAMMING, 6.0F);
- }
- }
-
- numCollisions = Math.max(0, numCollisions - world.paperConfig.maxCollisionsPerEntity); // Paper
- for (j = 0; j < list.size() && numCollisions < world.paperConfig.maxCollisionsPerEntity; ++j) { // Paper
- Entity entity = (Entity) list.get(j);
- entity.numCollisions++; // Paper
- numCollisions++; // Paper
-
- this.C(entity);
- }
- }
+ if(dev.tr7zw.yatopia.YatopiaConfig.onlyPlayerCollisions) {
+ this.world.getEntities(this, this.getBoundingBox(), entity -> entity.getEntityType() == EntityTypes.PLAYER, list);
+ } else {
+ this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this), list);
+ }
+ // Tuinity end - reduce memory allocation from collideNearby
+ // Yatopia end
+
+ if (!list.isEmpty()) {
+ // Paper - move up
+ int j;
+
+ if (i > 0 && list.size() > i - 1 && this.random.nextInt(4) == 0) {
+ j = 0;
+
+ for (int k = 0; k < list.size(); ++k) {
+ if (!((Entity) list.get(k)).isPassenger()) {
+ ++j;
+ }
+ }
+
+ if (j > i - 1) {
+ this.damageEntity(DamageSource.CRAMMING, 6.0F);
+ }
+ }
+
+ numCollisions = Math.max(0, numCollisions - world.paperConfig.maxCollisionsPerEntity); // Paper
+ for (j = 0; j < list.size() && numCollisions < world.paperConfig.maxCollisionsPerEntity; ++j) { // Paper
+ Entity entity = (Entity) list.get(j);
+ entity.numCollisions++; // Paper
+ numCollisions++; // Paper
+
+ this.C(entity);
+ }
+ }
} finally { // Tuinity start - reduce memory allocation from collideNearby
com.tuinity.tuinity.util.CachedLists.returnTempGetEntitiesList(list);
} // Tuinity end - reduce memory allocation from collideNearby

View File

@ -0,0 +1,210 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrIvanPlays <ivan@mrivanplays.com>
Date: Tue, 11 Aug 2020 10:28:04 +0300
Subject: [PATCH] Per entity (type) collision settings
Base patch was the only player collisions patch, the original author of was tr7zw <tr7zw@live.de>
but pretty much the whole implementation changed.
This patch implements per entity (type) collision settings with 100% compatibility with bukkit api and
vanilla.
The whole code is based around 1 class, the EntityFilter class. Whole filtering logic is there.
Co-authored-by: tr7zw <tr7zw@live.de>
diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java
index 2cedf4d7aaefc064f5730015c41c1f5102bc747d..bdeb72c04831209466742b9fb6747ebefbe7ca48 100644
--- a/src/main/java/de/minebench/origami/OrigamiConfig.java
+++ b/src/main/java/de/minebench/origami/OrigamiConfig.java
@@ -125,6 +125,39 @@ public final class OrigamiConfig {
fastFeatureSearchDontLoad = getBoolean("fast-feature-search-dont-load", fastFeatureSearchDontLoad);
}
+ // Yatopia start
+ public boolean playerCollisions = true;
+ public boolean animalCollisions = true;
+ public boolean ambientCollisions = true;
+ public boolean monsterCollisions = true;
+ public boolean villagerCollisions = true;
+ public boolean pillagerCollisions = true;
+ public boolean ironGolemCollisions = true;
+ public boolean miscCollisions = true;
+ public boolean itemCollisions = true;
+ public boolean waterCreatureCollisions = true;
+ public boolean waterAmbientCollisions = true;
+ public boolean allCollisionsEnabled = false;
+ private void specificCollisionSettings() {
+ playerCollisions = getBoolean("collisions.players", playerCollisions);
+ animalCollisions = getBoolean("collisions.animals", animalCollisions);
+ ambientCollisions = getBoolean("collisions.ambient", ambientCollisions);
+ monsterCollisions = getBoolean("collisions.monsters", monsterCollisions);
+ villagerCollisions = getBoolean("collisions.villagers", villagerCollisions);
+ pillagerCollisions = getBoolean("collisions.pillagers", pillagerCollisions);
+ ironGolemCollisions = getBoolean("collisions.iron-golems", ironGolemCollisions);
+ miscCollisions = getBoolean("collisions.misc", miscCollisions);
+ itemCollisions = getBoolean("collisions.items", itemCollisions);
+ waterCreatureCollisions = getBoolean("collisions.water-creature", waterCreatureCollisions);
+ waterAmbientCollisions = getBoolean("collisions.water-ambient", waterAmbientCollisions);
+
+ allCollisionsEnabled =
+ playerCollisions && animalCollisions && ambientCollisions && monsterCollisions && villagerCollisions
+ && pillagerCollisions && ironGolemCollisions && miscCollisions && itemCollisions
+ && waterCreatureCollisions && waterAmbientCollisions;
+ }
+ // Yatopia end
+
}
}
\ No newline at end of file
diff --git a/src/main/java/dev/tr7zw/yatopia/EntityFilter.java b/src/main/java/dev/tr7zw/yatopia/EntityFilter.java
new file mode 100644
index 0000000000000000000000000000000000000000..e6617833a7aea4803b78bc55b633fac9698688bd
--- /dev/null
+++ b/src/main/java/dev/tr7zw/yatopia/EntityFilter.java
@@ -0,0 +1,131 @@
+package dev.tr7zw.yatopia;
+
+import com.google.common.base.Predicates;
+
+import de.minebench.origami.OrigamiConfig;
+
+import net.minecraft.server.Entity;
+import net.minecraft.server.EntityTypes;
+import net.minecraft.server.EnumCreatureType;
+import net.minecraft.server.IEntitySelector;
+import net.minecraft.server.ScoreboardTeamBase;
+import net.minecraft.server.World;
+
+import java.util.function.Predicate;
+
+public class EntityFilter {
+
+ public static Predicate<Entity> getFilter(Entity entity) {
+ OrigamiConfig.WorldConfig config = entity.world.origamiConfig;
+ if (config.allCollisionsEnabled) {
+ return IEntitySelector.a(entity);
+ }
+
+ ScoreboardTeamBase entityTeam = entity.getScoreboardTeam();
+ ScoreboardTeamBase.EnumTeamPush entityTeamPush =
+ entityTeam == null ?
+ ScoreboardTeamBase.EnumTeamPush.ALWAYS :
+ entityTeam.getCollisionRule();
+
+ if (entityTeamPush == ScoreboardTeamBase.EnumTeamPush.NEVER || entity.world.isClientSide
+ || entity.isSpectator()) {
+ return Predicates.alwaysFalse();
+ }
+
+ Predicate<Entity> ret = (tested) -> {
+ if (!tested.canCollideWith(entity) || !entity.canCollideWith(tested)) {
+ return false;
+ }
+ ScoreboardTeamBase testedTeam = tested.getScoreboardTeam();
+ ScoreboardTeamBase.EnumTeamPush testedPush =
+ testedTeam == null ?
+ ScoreboardTeamBase.EnumTeamPush.ALWAYS :
+ testedTeam.getCollisionRule();
+
+ if (testedPush == ScoreboardTeamBase.EnumTeamPush.NEVER) {
+ return false;
+ }
+ if (testedTeam != null && entityTeam != null) {
+ // see IEntitySelector#a(Entity)
+ // copied from there, although for me this logic doesn't seem quite right
+ boolean ally = entityTeam.isAlly(testedTeam);
+
+ if ((entityTeamPush == ScoreboardTeamBase.EnumTeamPush.PUSH_OWN_TEAM ||
+ testedPush == ScoreboardTeamBase.EnumTeamPush.PUSH_OWN_TEAM) && ally) {
+ return false;
+ }
+ return (entityTeamPush != ScoreboardTeamBase.EnumTeamPush.PUSH_OTHER_TEAMS
+ && testedPush != ScoreboardTeamBase.EnumTeamPush.PUSH_OTHER_TEAMS) || ally;
+ } else {
+ return testedPush == ScoreboardTeamBase.EnumTeamPush.ALWAYS &&
+ entityTeamPush == ScoreboardTeamBase.EnumTeamPush.ALWAYS;
+ }
+ };
+
+ ret = ret.and((tested) -> {
+ // no need to continue if we already got false from this check
+ if (!tested.canCollideWith(entity) || !entity.canCollideWith(tested)) {
+ return false;
+ }
+
+ Predicate<Entity> entitySpecific = (es) -> {
+ if (config.playerCollisions) {
+ return es.getEntityType() == EntityTypes.PLAYER;
+ }
+ return false;
+ };
+
+ if (config.animalCollisions) {
+ entitySpecific = entitySpecific.or((es) -> es.getEntityType().getEnumCreatureType() == EnumCreatureType.CREATURE);
+ }
+
+ if (config.ambientCollisions) {
+ entitySpecific = entitySpecific.or((es) -> es.getEntityType().getEnumCreatureType() == EnumCreatureType.AMBIENT);
+ }
+
+ if (config.monsterCollisions) {
+ entitySpecific = entitySpecific.or((es) -> es.getEntityType().getEnumCreatureType() == EnumCreatureType.MONSTER
+ && (config.pillagerCollisions || es.getEntityType() != EntityTypes.PILLAGER));
+ }
+
+ if (config.miscCollisions) {
+ entitySpecific = entitySpecific.or((es) -> {
+ if (es.getEntityType().getEnumCreatureType() == EnumCreatureType.MISC) {
+ return miscVPI(es, config, true);
+ }
+ return false;
+ });
+ } else {
+ entitySpecific = entitySpecific.or((es) -> miscVPI(es, config, false));
+ }
+
+ if (config.waterCreatureCollisions) {
+ entitySpecific = entitySpecific.or((es) -> es.getEntityType().getEnumCreatureType() == EnumCreatureType.WATER_CREATURE);
+ }
+
+ if (config.waterAmbientCollisions) {
+ entitySpecific = entitySpecific.or((es) -> es.getEntityType().getEnumCreatureType() == EnumCreatureType.WATER_AMBIENT);
+ }
+
+ return entitySpecific.test(tested);
+ });
+
+ return ret;
+ }
+
+ private static boolean miscVPI(Entity es, OrigamiConfig.WorldConfig config, boolean isMisc) {
+ Predicate<Entity> ret = (p) -> {
+ if (config.villagerCollisions) {
+ return p.getEntityType() == EntityTypes.VILLAGER;
+ }
+ return isMisc;
+ };
+ if (config.ironGolemCollisions) {
+ ret = ret.or((p) -> p.getEntityType() == EntityTypes.IRON_GOLEM);
+ }
+ if (config.itemCollisions) {
+ ret = ret.or((p) -> p.getEntityType() == EntityTypes.ITEM);
+ }
+ return ret.test(es);
+ }
+}
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index c30fee13723cef0f03eb5a87851158cf347fae3c..a4123c2c7dc84803194459895f29d35643b71d04 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2846,7 +2846,7 @@ public abstract class EntityLiving extends Entity {
// Paper - end don't run getEntities if we're not going to use its result
// Tuinity start - reduce memory allocation from collideNearby
List<Entity> list = com.tuinity.tuinity.util.CachedLists.getTempGetEntitiesList();
- this.world.getEntities(this, this.getBoundingBox(), IEntitySelector.a(this), list);
+ this.world.getEntities(this, this.getBoundingBox(), dev.tr7zw.yatopia.EntityFilter.getFilter(this), list); // Yatopia
try {
// Tuinity end - reduce memory allocation from collideNearby

View File

@ -5,16 +5,13 @@ Subject: [PATCH] Allow to change the piston push limit
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 2cee6e02a7dcbacb5f002f9c5917a2e26bcf2c82..3c654db72bf0a8b56dafd73df8a59f76d27360ae 100644
index 556cf9f17501f13a19a05bf804edcb9c9bf7fe4e..0eac1342ceba67ca51bed32e4b7c60afbce684d1 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -209,5 +209,10 @@ public class YatopiaConfig {
public static boolean onlyPlayerCollisions = false;
private static void onlyPlayerCollisions() {
onlyPlayerCollisions = getBoolean("settings.onlyPlayerCollisions", false);
- }
+ }
+
@@ -207,4 +207,8 @@ public class YatopiaConfig {
disableEntityCollisionboxes = getBoolean("settings.disableEntityCollisionboxes", false);
}
+ public static int pistonPushLimit = 12;
+ private static void pistonPushLimit() {
+ pistonPushLimit = getInt("settings.pistonPushLimit", 12);

View File

@ -37,7 +37,7 @@ index 4f10ca5ada741b4f5ef941bb9d92a2fa6a7c44ff..3d6f8d948d293ca57bf158bcd1f58e28
if (enumdirection2 != EnumDirection.DOWN && world.isBlockFacePowered(blockposition1.shift(enumdirection2), enumdirection2)) {
return true;
diff --git a/src/main/java/net/minecraft/server/EntityLiving.java b/src/main/java/net/minecraft/server/EntityLiving.java
index 7ebd715dd2675e0f4fc73344f7068c6b908b59a9..ef77e7864e7e49684a9bd2a7c9f07717800e3e89 100644
index a4123c2c7dc84803194459895f29d35643b71d04..173d04df808d9ed1fdd4767c25c2ebe130303d7f 100644
--- a/src/main/java/net/minecraft/server/EntityLiving.java
+++ b/src/main/java/net/minecraft/server/EntityLiving.java
@@ -2566,11 +2566,14 @@ public abstract class EntityLiving extends Entity {

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Item stuck sleep config
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 3c654db72bf0a8b56dafd73df8a59f76d27360ae..0273d800eb75ba83edb36dff9e76f4d34031d600 100644
index 0eac1342ceba67ca51bed32e4b7c60afbce684d1..dd9206a70e85507fb538d2b59d97478db57df7b8 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -215,4 +215,9 @@ public class YatopiaConfig {
@@ -211,4 +211,9 @@ public class YatopiaConfig {
private static void pistonPushLimit() {
pistonPushLimit = getInt("settings.pistonPushLimit", 12);
}

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Option for simpler Villagers
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 0273d800eb75ba83edb36dff9e76f4d34031d600..9f04500e167b8403c7487044a4ae03a6be61062a 100644
index dd9206a70e85507fb538d2b59d97478db57df7b8..02ef2cbc0599461a1c693ef71d2310bb3e6d1fc0 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -220,4 +220,13 @@ public class YatopiaConfig {
@@ -216,4 +216,13 @@ public class YatopiaConfig {
private static void itemStuckSleepTicks() {
itemStuckSleepTicks = getInt("settings.itemStuckSleepTicks", 1);
}

View File

@ -5,61 +5,30 @@ Subject: [PATCH] Optimize TileEntity loading
diff --git a/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
index c2c19a6fbfa2a4aba21aa71789071c69a6246556..7dfd36e22a896ae440bbda6db0628c44493b44d2 100644
index c2c19a6fbfa2a4aba21aa71789071c69a6246556..8ee0c5982c3ec957ba043c0d7819ecbe586ac3f5 100644
--- a/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
+++ b/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
@@ -1,12 +1,10 @@
package me.jellysquid.mods.lithium.common.util.collections;
-import it.unimi.dsi.fastutil.objects.ObjectArraySet;
-
import java.util.*;
/**
* Wraps a {@link List} with a hash table which provides O(1) lookups for {@link Collection#contains(Object)}.
- *
+ * Uses a hashset so some issues can happen if the same entry get's added multiple times! (Doesn't matter for this usecase)
* @see https://github.com/jellysquid3/lithium-fabric/blob/1.16.x/fabric/src/main/java/me/jellysquid/mods/lithium/common/util/collections/HashedList.java
*/
public class HashedList<T> implements List<T> {
@@ -163,6 +161,6 @@ public class HashedList<T> implements List<T> {
@@ -163,6 +163,6 @@ public class HashedList<T> implements List<T> {
}
public static <T> HashedList<T> wrapper(List<T> list) {
- return new HashedList<>(list, new ObjectArraySet<>(list));
+ return new HashedList<>(list, new HashSet<>(list));
+ return new HashedList<>(list, new java.util.HashSet<>(list)); // Yatopia
}
}
\ No newline at end of file
diff --git a/src/main/java/net/minecraft/server/World.java b/src/main/java/net/minecraft/server/World.java
index 9c42c2c027868e0357d2c75c1d477eecf358f1b4..2977dadc19fa6bcafaa6f44a883eec235db8653d 100644
index 197726bdfcb887a1daac1352726f33ef08fa32b1..cc40e3ef589cd636225941ac755b5849520f7b70 100644
--- a/src/main/java/net/minecraft/server/World.java
+++ b/src/main/java/net/minecraft/server/World.java
@@ -2,6 +2,8 @@ package net.minecraft.server;
import co.aikar.timings.Timing;
import co.aikar.timings.Timings;
+import me.jellysquid.mods.lithium.common.util.collections.HashedList;
+
import com.destroystokyo.paper.antixray.ChunkPacketBlockController; // Paper - Anti-Xray
import com.destroystokyo.paper.antixray.ChunkPacketBlockControllerAntiXray; // Paper - Anti-Xray
import com.destroystokyo.paper.event.server.ServerExceptionEvent;
@@ -11,6 +13,7 @@ import com.google.common.collect.Lists;
import com.mojang.serialization.Codec;
import com.proximyst.rainforest.RainforestWorldConfig;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
@@ -43,8 +46,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
@@ -43,8 +43,8 @@ public abstract class World implements GeneratorAccess, AutoCloseable {
public static final ResourceKey<World> THE_END = ResourceKey.a(IRegistry.ae, new MinecraftKey("the_end"));
private static final EnumDirection[] a = EnumDirection.values();
//public final List<TileEntity> tileEntityList = Lists.newArrayList(); // Paper - remove unused list
- public final List<TileEntity> tileEntityListTick = Lists.newArrayList();
- protected final List<TileEntity> tileEntityListPending = Lists.newArrayList();
+ public final List<TileEntity> tileEntityListTick = HashedList.wrapper(Lists.newArrayList()); // Yatopia
+ protected final List<TileEntity> tileEntityListPending = HashedList.wrapper(Lists.newArrayList()); // Yatopia
+ public final List<TileEntity> tileEntityListTick = me.jellysquid.mods.lithium.common.util.collections.HashedList.wrapper(Lists.newArrayList()); // Yatopia
+ protected final List<TileEntity> tileEntityListPending = me.jellysquid.mods.lithium.common.util.collections.HashedList.wrapper(Lists.newArrayList()); // Yatopia
protected final java.util.Set<TileEntity> tileEntityListUnload = com.google.common.collect.Sets.newHashSet();
public final Thread serverThread;
private final boolean debugWorld;

View File

@ -4,114 +4,86 @@ Date: Wed, 5 Aug 2020 08:17:46 -0500
Subject: [PATCH] Redirect Configs
diff --git a/src/main/java/app/akarin/server/Config.java b/src/main/java/app/akarin/server/Config.java
index 1742facec843dd87897d62e4aab819835fab4a38..358ac3361c814b7cf5f9650a6a49c6efce7dd56a 100644
--- a/src/main/java/app/akarin/server/Config.java
+++ b/src/main/java/app/akarin/server/Config.java
@@ -4,6 +4,8 @@ import org.bukkit.Bukkit;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.configuration.file.YamlConfiguration;
+import dev.tr7zw.yatopia.YatopiaConfig;
+
import java.io.File;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -22,8 +24,8 @@ public final class Config {
private static int configVersion;
public static void init(final File file) {
- Config.configFile = file;
- final YamlConfiguration config = new YamlConfiguration();
+ Config.configFile = YatopiaConfig.CONFIG_FILE;
+ /*final YamlConfiguration config = new YamlConfiguration();
config.options().header(CONFIG_HEADER);
config.options().copyDefaults(true);
@@ -40,9 +42,9 @@ public final class Config {
Bukkit.getLogger().log(Level.SEVERE, "Failure to load Akarin config", ex);
throw new RuntimeException(ex);
}
- }
+ }*/
- Config.load(config);
+ Config.load(YatopiaConfig.config);
}
public static void load(final YamlConfiguration config) {
diff --git a/src/main/java/com/proximyst/rainforest/RainforestConfig.java b/src/main/java/com/proximyst/rainforest/RainforestConfig.java
index 0d854bda9611b45d78815f9fe9cafb8901de210f..04f5751f7972ed04f97c3f911277a30f14344801 100644
index 0d854bda9611b45d78815f9fe9cafb8901de210f..c4092282040d4e7cd960b6922feb8b179a6a8ada 100644
--- a/src/main/java/com/proximyst/rainforest/RainforestConfig.java
+++ b/src/main/java/com/proximyst/rainforest/RainforestConfig.java
@@ -18,6 +18,8 @@ import org.bukkit.command.Command;
import org.bukkit.configuration.InvalidConfigurationException;
import org.bukkit.configuration.file.YamlConfiguration;
+import dev.tr7zw.yatopia.YatopiaConfig;
+
// Based on PaperConfig
public final class RainforestConfig {
private static File CONFIG_FILE;
@@ -37,8 +39,7 @@ public final class RainforestConfig {
@@ -37,6 +37,8 @@ public final class RainforestConfig {
private static boolean fatalError;
public static void init(File configFile) {
- CONFIG_FILE = configFile;
- config = new YamlConfiguration();
+ /*config = new YamlConfiguration();
+ // Yatopia start
+ /*
CONFIG_FILE = configFile;
config = new YamlConfiguration();
try {
config.load(CONFIG_FILE);
} catch (IOException ex) {
@@ -56,7 +57,9 @@ public final class RainforestConfig {
@@ -56,7 +58,13 @@ public final class RainforestConfig {
version = getInt("config-version", 1);
set("config-version", 1);
- readConfig(RainforestConfig.class, null);
+ readConfig(RainforestConfig.class, null);*/
+ config = YatopiaConfig.config;
+ CONFIG_FILE = YatopiaConfig.CONFIG_FILE;
+ */
+ config = dev.tr7zw.yatopia.YatopiaConfig.config;
+ CONFIG_FILE = dev.tr7zw.yatopia.YatopiaConfig.CONFIG_FILE;
+ verbose = dev.tr7zw.yatopia.YatopiaConfig.verbose;
+ version = dev.tr7zw.yatopia.YatopiaConfig.version;
+ //readConfig(RainforestConfig.class, null); // todo: when options actually get ported, uncomment this
+ // Yatopia end
}
protected static void logError(String s) {
diff --git a/src/main/java/com/proximyst/rainforest/RainforestWorldConfig.java b/src/main/java/com/proximyst/rainforest/RainforestWorldConfig.java
index 22d920686418e86aec8be37f125123682af023a3..081a5344b86e300ae7aa722b9b0ca84c77844e49 100644
--- a/src/main/java/com/proximyst/rainforest/RainforestWorldConfig.java
+++ b/src/main/java/com/proximyst/rainforest/RainforestWorldConfig.java
@@ -22,7 +22,7 @@ public final class RainforestWorldConfig {
public void init() {
log("-------- World Settings For [" + worldName + "] --------");
- RainforestConfig.readConfig(RainforestWorldConfig.class, this);
+ //RainforestConfig.readConfig(RainforestWorldConfig.class, this); // Yatopia - todo: when options are ported, uncomment this
}
private void set(String path, Object val) {
diff --git a/src/main/java/de/minebench/origami/OrigamiConfig.java b/src/main/java/de/minebench/origami/OrigamiConfig.java
index 2cedf4d7aaefc064f5730015c41c1f5102bc747d..1c1d624065162ef5b97ed5ff3d0a24b73975ed2e 100644
index bdeb72c04831209466742b9fb6747ebefbe7ca48..0f9f9554b00e7bda2e1ec34bcca325d4fcf983b9 100644
--- a/src/main/java/de/minebench/origami/OrigamiConfig.java
+++ b/src/main/java/de/minebench/origami/OrigamiConfig.java
@@ -3,6 +3,8 @@ package de.minebench.origami;
import org.bukkit.Bukkit;
import org.bukkit.configuration.file.YamlConfiguration;
+import dev.tr7zw.yatopia.YatopiaConfig;
+
import java.io.File;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -20,7 +22,7 @@ public final class OrigamiConfig {
@@ -20,6 +20,8 @@ public final class OrigamiConfig {
private static int configVersion;
public static void init(final File file) {
- OrigamiConfig.configFile = file;
+ /*OrigamiConfig.configFile = file;
+ // Yatopia start
+ /*
OrigamiConfig.configFile = file;
OrigamiConfig.config = new YamlConfiguration();
config.options().header(CONFIG_HEADER);
config.options().copyDefaults(true);
@@ -39,7 +41,9 @@ public final class OrigamiConfig {
@@ -39,13 +41,16 @@ public final class OrigamiConfig {
System.out.println("Failure to load origami config");
throw new RuntimeException(ex);
}
- }
-
- OrigamiConfig.load(OrigamiConfig.class, null);
+ }*/
+ config = YatopiaConfig.config;
+ configFile = YatopiaConfig.CONFIG_FILE;
OrigamiConfig.load(OrigamiConfig.class, null);
+ config = dev.tr7zw.yatopia.YatopiaConfig.config;
+ configFile = dev.tr7zw.yatopia.YatopiaConfig.CONFIG_FILE;
+ configVersion = dev.tr7zw.yatopia.YatopiaConfig.version;
+ //OrigamiConfig.load(OrigamiConfig.class, null); // todo: uncomment when config options are ported
+ // Yatopia end
}
public static void load(Class<?> clazz, Object instance) {
- OrigamiConfig.configVersion = OrigamiConfig.getInt("config-version-please-do-not-modify-me", CURRENT_CONFIG_VERSION);
+ //OrigamiConfig.configVersion = OrigamiConfig.getInt("config-version-please-do-not-modify-me", CURRENT_CONFIG_VERSION); // Yatopia - NO
for (final Method method : clazz.getDeclaredMethods()) {
if (method.getReturnType() != void.class || method.getParameterCount() != 0 ||
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 9f04500e167b8403c7487044a4ae03a6be61062a..fb3bf0731512b5517ca7ccb3240085b40e7f2abb 100644
index 02ef2cbc0599461a1c693ef71d2310bb3e6d1fc0..16de5a03d7c182766052e118c2912c013e06c54c 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -33,7 +33,7 @@ import org.spigotmc.WatchdogThread;
@@ -24,7 +24,7 @@ import org.bukkit.configuration.file.YamlConfiguration;
public class YatopiaConfig {
@ -121,46 +93,23 @@ index 9f04500e167b8403c7487044a4ae03a6be61062a..fb3bf0731512b5517ca7ccb3240085b4
+ "Yatopia contains many breaking changes and settings, so know what you are doing!\n"
+ "You have been warned!\n";
diff --git a/src/main/java/net/minecraft/server/DedicatedServer.java b/src/main/java/net/minecraft/server/DedicatedServer.java
index 0170f25a694e757798ebd4a37c90b1c1e479d3bd..73f4d52f24d042e287dab351edd4bfa4e22046b4 100644
index c3becefce8143f34ed2b1093dd22227b7309629c..b045cfc0e8ade9632cfde5cffe8fe93b5ee08b27 100644
--- a/src/main/java/net/minecraft/server/DedicatedServer.java
+++ b/src/main/java/net/minecraft/server/DedicatedServer.java
@@ -169,6 +169,15 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
@@ -189,6 +189,8 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
return false;
}
com.destroystokyo.paper.PaperConfig.registerCommands();
+ // Yatopia start
+ try {
+ dev.tr7zw.yatopia.YatopiaConfig.init(new File("yatopia.yml"));
+ } catch (Exception e) {
+ DedicatedServer.LOGGER.error("Unable to load server configuration", e);
+ return false;
+ }
+ dev.tr7zw.yatopia.YatopiaConfig.registerCommands();
+ // Yatopia end
// Purpur start
try {
net.pl3x.purpur.PurpurConfig.init((java.io.File) options.valueOf("purpur-settings"));
@@ -183,14 +192,7 @@ public class DedicatedServer extends MinecraftServer implements IMinecraftServer
com.tuinity.tuinity.config.TuinityConfig.init((java.io.File) options.valueOf("tuinity-settings")); // Tuinity - Server Config
app.akarin.server.Config.init((java.io.File) options.valueOf("akarin-settings")); // Akarin - Server Config
com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings")); // Rainforest
- // Yatopia start
- try {
- dev.tr7zw.yatopia.YatopiaConfig.init(new File("yatopia.yml"));
- } catch (Exception e) {
- DedicatedServer.LOGGER.error("Unable to load server configuration", e);
- return false;
- }
- dev.tr7zw.yatopia.YatopiaConfig.registerCommands();
dev.tr7zw.yatopia.YatopiaConfig.registerCommands();
+ de.minebench.origami.OrigamiConfig.init((java.io.File) options.valueOf("origami-settings"));
+ com.proximyst.rainforest.RainforestConfig.init((java.io.File) options.valueOf("rainforest-settings"));
// Yatopia end
this.setPVP(dedicatedserverproperties.pvp);
this.setAllowFlight(dedicatedserverproperties.allowFlight);
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 1a454f74b322605b1006da5be13760b13cc5f931..6820905bf16eb4e8a97615a7ef49b6d3337ab247 100644
index c4495f89898861c385b32e70d3b6a3f12b91bdd3..4fce6ed06fccc65ab022cff3623f06f40b49372b 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -304,7 +304,7 @@ public class Main {
@@ -320,7 +320,7 @@ public class Main {
}
// Paper end
System.setProperty( "library.jansi.version", "Paper" ); // Paper - set meaningless jansi version to prevent git builds from crashing on Windows

View File

@ -5,10 +5,10 @@ Subject: [PATCH] Fix lead fall dmg config
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index fb3bf0731512b5517ca7ccb3240085b40e7f2abb..40f0bc601f0d11b0bfb15162fce17aaa70991f14 100644
index 16de5a03d7c182766052e118c2912c013e06c54c..c4ab51e3eb22917159e0803f54c1654975c98485 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -229,4 +229,10 @@ public class YatopiaConfig {
@@ -225,4 +225,10 @@ public class YatopiaConfig {
private static void villagersHideAtNight() {
villagersHideAtNight = getBoolean("settings.villager.villagersHideAtNight", false);
}

View File

@ -7,10 +7,10 @@ Ported to Yatopia and 1.16.1 by MrIvanPlays
Co-authored-by: MrIvanPlays <ivan@mrivanplays.com>
diff --git a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
index 40f0bc601f0d11b0bfb15162fce17aaa70991f14..8b659311e3b6f45c0ee798efb6adb85cdeb710b0 100644
index c4ab51e3eb22917159e0803f54c1654975c98485..d20ed58b781462ea667f75a2ac99b78cb23e283c 100644
--- a/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
+++ b/src/main/java/dev/tr7zw/yatopia/YatopiaConfig.java
@@ -235,4 +235,15 @@ public class YatopiaConfig {
@@ -231,4 +231,15 @@ public class YatopiaConfig {
fixFallDistance = getBoolean("settings.fixFallDistance", false);
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff