Obfuscation helpers

This commit is contained in:
William Blake Galbreath
2019-07-10 20:13:50 -05:00
parent e0fd9f7eaf
commit 03be5e1044
11 changed files with 279 additions and 215 deletions

View File

@@ -1,4 +1,4 @@
From 38e634bad7487c17e998ca79edc18ca82da1dd1b Mon Sep 17 00:00:00 2001
From d5b26b7987432b2a6fb3bc0d022061b9e378f796 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Thu, 9 May 2019 14:27:37 -0500
Subject: [PATCH] Silk touch spawners
@@ -6,14 +6,14 @@ Subject: [PATCH] Silk touch spawners
---
src/main/java/net/minecraft/server/Block.java | 1 +
.../net/minecraft/server/BlockMobSpawner.java | 35 +++++++++++++++++++
.../net/minecraft/server/EntityTypes.java | 13 +++++++
.../net/minecraft/server/ItemSpawner.java | 22 ++++++++++++
.../net/minecraft/server/EntityTypes.java | 14 ++++++++
.../net/minecraft/server/ItemSpawner.java | 23 ++++++++++++
src/main/java/net/minecraft/server/Items.java | 2 +-
5 files changed, 72 insertions(+), 1 deletion(-)
5 files changed, 74 insertions(+), 1 deletion(-)
create mode 100644 src/main/java/net/minecraft/server/ItemSpawner.java
diff --git a/src/main/java/net/minecraft/server/Block.java b/src/main/java/net/minecraft/server/Block.java
index 5d8db912a6..8e16162a7b 100644
index 5d8db912a..8e16162a7 100644
--- a/src/main/java/net/minecraft/server/Block.java
+++ b/src/main/java/net/minecraft/server/Block.java
@@ -493,6 +493,7 @@ public class Block implements IMaterial {
@@ -25,7 +25,7 @@ index 5d8db912a6..8e16162a7b 100644
if (!world.isClientSide && !itemstack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
float f = 0.5F;
diff --git a/src/main/java/net/minecraft/server/BlockMobSpawner.java b/src/main/java/net/minecraft/server/BlockMobSpawner.java
index bb77d916ab..974a5d2816 100644
index bb77d916a..974a5d281 100644
--- a/src/main/java/net/minecraft/server/BlockMobSpawner.java
+++ b/src/main/java/net/minecraft/server/BlockMobSpawner.java
@@ -11,6 +11,40 @@ public class BlockMobSpawner extends BlockTileEntity {
@@ -78,10 +78,10 @@ index bb77d916ab..974a5d2816 100644
return i;
diff --git a/src/main/java/net/minecraft/server/EntityTypes.java b/src/main/java/net/minecraft/server/EntityTypes.java
index eaacc9bff8..ec63f1dbe1 100644
index eaacc9bff..c32f40a60 100644
--- a/src/main/java/net/minecraft/server/EntityTypes.java
+++ b/src/main/java/net/minecraft/server/EntityTypes.java
@@ -137,6 +137,12 @@ public class EntityTypes<T extends Entity> {
@@ -137,10 +137,17 @@ public class EntityTypes<T extends Entity> {
return (EntityTypes) IRegistry.a((IRegistry) IRegistry.ENTITY_TYPE, s, (Object) entitytypes_a.a(s));
}
@@ -94,7 +94,12 @@ index eaacc9bff8..ec63f1dbe1 100644
public static MinecraftKey getName(EntityTypes<?> entitytypes) {
return IRegistry.ENTITY_TYPE.getKey(entitytypes);
}
@@ -255,6 +261,12 @@ public class EntityTypes<T extends Entity> {
+ public static Optional<EntityTypes<?>> getType(String name) { return a(name); } // Purpur - OBFHELPER
public static Optional<EntityTypes<?>> a(String s) {
return IRegistry.ENTITY_TYPE.getOptional(MinecraftKey.a(s));
}
@@ -255,6 +262,12 @@ public class EntityTypes<T extends Entity> {
return this.ba;
}
@@ -107,7 +112,7 @@ index eaacc9bff8..ec63f1dbe1 100644
public String e() {
if (this.be == null) {
this.be = SystemUtils.a("entity", IRegistry.ENTITY_TYPE.getKey(this));
@@ -263,6 +275,7 @@ public class EntityTypes<T extends Entity> {
@@ -263,6 +276,7 @@ public class EntityTypes<T extends Entity> {
return this.be;
}
@@ -117,10 +122,10 @@ index eaacc9bff8..ec63f1dbe1 100644
this.bf = new ChatMessage(this.e(), new Object[0]);
diff --git a/src/main/java/net/minecraft/server/ItemSpawner.java b/src/main/java/net/minecraft/server/ItemSpawner.java
new file mode 100644
index 0000000000..05dbc162fa
index 000000000..7dc68ffe9
--- /dev/null
+++ b/src/main/java/net/minecraft/server/ItemSpawner.java
@@ -0,0 +1,22 @@
@@ -0,0 +1,23 @@
+package net.minecraft.server;
+
+public class ItemSpawner extends ItemBlock {
@@ -132,11 +137,12 @@ index 0000000000..05dbc162fa
+ protected boolean a(BlockPosition blockposition, World world, EntityHuman entityhuman, ItemStack itemstack, IBlockData iblockdata) {
+ boolean handled = super.a(blockposition, world, entityhuman, itemstack, iblockdata);
+ if (entityhuman.getBukkitEntity().hasPermission("purpur.place.spawners")) {
+ TileEntity te = world.getTileEntity(blockposition);
+ if (te instanceof TileEntityMobSpawner && itemstack.hasTag()) {
+ TileEntity spawner = world.getTileEntity(blockposition);
+ if (spawner instanceof TileEntityMobSpawner && itemstack.hasTag()) {
+ NBTTagCompound tag = itemstack.getTag();
+ if (tag.hasKey("Purpur.mob_type")) {
+ EntityTypes.a(tag.getString("Purpur.mob_type")).ifPresent(type -> ((TileEntityMobSpawner) te).getSpawner().setMobName(type));
+ EntityTypes.getType(tag.getString("Purpur.mob_type")).ifPresent(type ->
+ ((TileEntityMobSpawner) spawner).getSpawner().setMobName(type));
+ }
+ }
+ }
@@ -144,7 +150,7 @@ index 0000000000..05dbc162fa
+ }
+}
diff --git a/src/main/java/net/minecraft/server/Items.java b/src/main/java/net/minecraft/server/Items.java
index 84646dbc26..987297634c 100644
index 84646dbc2..987297634 100644
--- a/src/main/java/net/minecraft/server/Items.java
+++ b/src/main/java/net/minecraft/server/Items.java
@@ -155,7 +155,7 @@ public class Items {