mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Add option to disable mushroom block updates
This commit is contained in:
@@ -1 +1 @@
|
||||
1.16.1--0f64f81233910c6d9f752f3294e8d2ec9f0390ea
|
||||
1.16.1--d3a6e66f8d7bf9ae7937b7b6dad700d97cde34b8
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: William Blake Galbreath <Blake.Galbreath@GMail.com>
|
||||
Date: Tue, 4 Aug 2020 17:11:58 -0500
|
||||
Subject: [PATCH] Add option to disable mushroom block updates
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/server/BlockHugeMushroom.java b/src/main/java/net/minecraft/server/BlockHugeMushroom.java
|
||||
index e8f340b9f2..3490af6fe0 100644
|
||||
--- a/src/main/java/net/minecraft/server/BlockHugeMushroom.java
|
||||
+++ b/src/main/java/net/minecraft/server/BlockHugeMushroom.java
|
||||
@@ -14,30 +14,57 @@ public class BlockHugeMushroom extends Block {
|
||||
|
||||
public BlockHugeMushroom(BlockBase.Info blockbase_info) {
|
||||
super(blockbase_info);
|
||||
- this.j((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.blockStateList.getBlockData()).set(BlockHugeMushroom.a, true)).set(BlockHugeMushroom.b, true)).set(BlockHugeMushroom.c, true)).set(BlockHugeMushroom.d, true)).set(BlockHugeMushroom.e, true)).set(BlockHugeMushroom.f, true));
|
||||
+ this.j(this.blockStateList.getBlockData()
|
||||
+ .set(BlockHugeMushroom.a, true)
|
||||
+ .set(BlockHugeMushroom.b, true)
|
||||
+ .set(BlockHugeMushroom.c, true)
|
||||
+ .set(BlockHugeMushroom.d, true)
|
||||
+ .set(BlockHugeMushroom.e, true)
|
||||
+ .set(BlockHugeMushroom.f, true));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockData getPlacedState(BlockActionContext blockactioncontext) {
|
||||
World world = blockactioncontext.getWorld();
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return this.getBlockData();
|
||||
BlockPosition blockposition = blockactioncontext.getClickPosition();
|
||||
-
|
||||
- return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) this.getBlockData().set(BlockHugeMushroom.f, this != world.getType(blockposition.down()).getBlock())).set(BlockHugeMushroom.e, this != world.getType(blockposition.up()).getBlock())).set(BlockHugeMushroom.a, this != world.getType(blockposition.north()).getBlock())).set(BlockHugeMushroom.b, this != world.getType(blockposition.east()).getBlock())).set(BlockHugeMushroom.c, this != world.getType(blockposition.south()).getBlock())).set(BlockHugeMushroom.d, this != world.getType(blockposition.west()).getBlock());
|
||||
+ return this.getBlockData()
|
||||
+ .set(BlockHugeMushroom.f, this != world.getType(blockposition.down()).getBlock())
|
||||
+ .set(BlockHugeMushroom.e, this != world.getType(blockposition.up()).getBlock())
|
||||
+ .set(BlockHugeMushroom.a, this != world.getType(blockposition.north()).getBlock())
|
||||
+ .set(BlockHugeMushroom.b, this != world.getType(blockposition.east()).getBlock())
|
||||
+ .set(BlockHugeMushroom.c, this != world.getType(blockposition.south()).getBlock())
|
||||
+ .set(BlockHugeMushroom.d, this != world.getType(blockposition.west()).getBlock());
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockData updateState(IBlockData iblockdata, EnumDirection enumdirection, IBlockData iblockdata1, GeneratorAccess generatoraccess, BlockPosition blockposition, BlockPosition blockposition1) {
|
||||
- return iblockdata1.a((Block) this) ? (IBlockData) iblockdata.set((IBlockState) BlockHugeMushroom.g.get(enumdirection), false) : super.updateState(iblockdata, enumdirection, iblockdata1, generatoraccess, blockposition, blockposition1);
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return iblockdata;
|
||||
+ return iblockdata1.a(this) ? iblockdata.set(BlockHugeMushroom.g.get(enumdirection), false) : super.updateState(iblockdata, enumdirection, iblockdata1, generatoraccess, blockposition, blockposition1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockData a(IBlockData iblockdata, EnumBlockRotation enumblockrotation) {
|
||||
- return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) iblockdata.set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.NORTH)), iblockdata.get(BlockHugeMushroom.a))).set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.SOUTH)), iblockdata.get(BlockHugeMushroom.c))).set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.EAST)), iblockdata.get(BlockHugeMushroom.b))).set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.WEST)), iblockdata.get(BlockHugeMushroom.d))).set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.UP)), iblockdata.get(BlockHugeMushroom.e))).set((IBlockState) BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.DOWN)), iblockdata.get(BlockHugeMushroom.f));
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return iblockdata;
|
||||
+ return iblockdata
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.NORTH)), iblockdata.get(BlockHugeMushroom.a))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.SOUTH)), iblockdata.get(BlockHugeMushroom.c))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.EAST)), iblockdata.get(BlockHugeMushroom.b))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.WEST)), iblockdata.get(BlockHugeMushroom.d))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.UP)), iblockdata.get(BlockHugeMushroom.e))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockrotation.a(EnumDirection.DOWN)), iblockdata.get(BlockHugeMushroom.f));
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockData a(IBlockData iblockdata, EnumBlockMirror enumblockmirror) {
|
||||
- return (IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) ((IBlockData) iblockdata.set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.NORTH)), iblockdata.get(BlockHugeMushroom.a))).set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.SOUTH)), iblockdata.get(BlockHugeMushroom.c))).set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.EAST)), iblockdata.get(BlockHugeMushroom.b))).set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.WEST)), iblockdata.get(BlockHugeMushroom.d))).set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.UP)), iblockdata.get(BlockHugeMushroom.e))).set((IBlockState) BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.DOWN)), iblockdata.get(BlockHugeMushroom.f));
|
||||
+ if (net.pl3x.purpur.PurpurConfig.disableMushroomBlockUpdates) return iblockdata;
|
||||
+ return iblockdata
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.NORTH)), iblockdata.get(BlockHugeMushroom.a))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.SOUTH)), iblockdata.get(BlockHugeMushroom.c))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.EAST)), iblockdata.get(BlockHugeMushroom.b))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.WEST)), iblockdata.get(BlockHugeMushroom.d))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.UP)), iblockdata.get(BlockHugeMushroom.e))
|
||||
+ .set(BlockHugeMushroom.g.get(enumblockmirror.b(EnumDirection.DOWN)), iblockdata.get(BlockHugeMushroom.f));
|
||||
}
|
||||
|
||||
@Override
|
||||
diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
index cd524cabcd..765248e803 100644
|
||||
--- a/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
+++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java
|
||||
@@ -203,6 +203,11 @@ public class PurpurConfig {
|
||||
allowWaterPlacementInTheEnd = getBoolean("settings.allow-water-placement-in-the-end", allowWaterPlacementInTheEnd);
|
||||
}
|
||||
|
||||
+ public static boolean disableMushroomBlockUpdates = false;
|
||||
+ private static void disableMushroomBlockUpdates() {
|
||||
+ disableMushroomBlockUpdates= getBoolean("settings.blocks.disable-mushroom-updates", disableMushroomBlockUpdates);
|
||||
+ }
|
||||
+
|
||||
public static boolean loggerSuppressInitLegacyMaterialError = false;
|
||||
public static boolean loggerSuppressIgnoredAdvancementWarnings = false;
|
||||
private static void loggerSettings() {
|
||||
Reference in New Issue
Block a user