109 lines
		
	
	
	
		
			8.5 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			109 lines
		
	
	
	
		
			8.5 KiB
			
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/net/minecraft/server/DispenserRegistry.java
 | |
| +++ b/net/minecraft/server/DispenserRegistry.java
 | |
| @@ -26,6 +26,12 @@
 | |
|  import net.minecraft.world.level.block.BlockFire;
 | |
|  import org.slf4j.Logger;
 | |
|  
 | |
| +// CraftBukkit start
 | |
| +import net.minecraft.util.datafix.fixes.DataConverterFlattenData;
 | |
| +import net.minecraft.util.datafix.fixes.DataConverterMaterialId;
 | |
| +import net.minecraft.util.datafix.fixes.DataConverterSpawnEgg;
 | |
| +// CraftBukkit end
 | |
| +
 | |
|  public class DispenserRegistry {
 | |
|  
 | |
|      public static final PrintStream STDOUT = System.out;
 | |
| @@ -36,6 +42,23 @@
 | |
|  
 | |
|      public static void bootStrap() {
 | |
|          if (!DispenserRegistry.isBootstrapped) {
 | |
| +            // CraftBukkit start
 | |
| +            String name = DispenserRegistry.class.getSimpleName();
 | |
| +            switch (name) {
 | |
| +                case "DispenserRegistry":
 | |
| +                    break;
 | |
| +                case "Bootstrap":
 | |
| +                    System.err.println("***************************************************************************");
 | |
| +                    System.err.println("*** WARNING: This server jar may only be used for development purposes. ***");
 | |
| +                    System.err.println("***************************************************************************");
 | |
| +                    break;
 | |
| +                default:
 | |
| +                    System.err.println("**********************************************************************");
 | |
| +                    System.err.println("*** WARNING: This server jar is unsupported, use at your own risk. ***");
 | |
| +                    System.err.println("**********************************************************************");
 | |
| +                    break;
 | |
| +            }
 | |
| +            // CraftBukkit end
 | |
|              DispenserRegistry.isBootstrapped = true;
 | |
|              if (BuiltInRegistries.REGISTRY.keySet().isEmpty()) {
 | |
|                  throw new IllegalStateException("Unable to load registries");
 | |
| @@ -52,6 +75,69 @@
 | |
|                      BuiltInRegistries.bootStrap();
 | |
|                      wrapStreams();
 | |
|                  }
 | |
| +                // CraftBukkit start - easier than fixing the decompile
 | |
| +                DataConverterFlattenData.register(1008, "{Name:'minecraft:oak_sign',Properties:{rotation:'0'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'0'}}");
 | |
| +                DataConverterFlattenData.register(1009, "{Name:'minecraft:oak_sign',Properties:{rotation:'1'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'1'}}");
 | |
| +                DataConverterFlattenData.register(1010, "{Name:'minecraft:oak_sign',Properties:{rotation:'2'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'2'}}");
 | |
| +                DataConverterFlattenData.register(1011, "{Name:'minecraft:oak_sign',Properties:{rotation:'3'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'3'}}");
 | |
| +                DataConverterFlattenData.register(1012, "{Name:'minecraft:oak_sign',Properties:{rotation:'4'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'4'}}");
 | |
| +                DataConverterFlattenData.register(1013, "{Name:'minecraft:oak_sign',Properties:{rotation:'5'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'5'}}");
 | |
| +                DataConverterFlattenData.register(1014, "{Name:'minecraft:oak_sign',Properties:{rotation:'6'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'6'}}");
 | |
| +                DataConverterFlattenData.register(1015, "{Name:'minecraft:oak_sign',Properties:{rotation:'7'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'7'}}");
 | |
| +                DataConverterFlattenData.register(1016, "{Name:'minecraft:oak_sign',Properties:{rotation:'8'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'8'}}");
 | |
| +                DataConverterFlattenData.register(1017, "{Name:'minecraft:oak_sign',Properties:{rotation:'9'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'9'}}");
 | |
| +                DataConverterFlattenData.register(1018, "{Name:'minecraft:oak_sign',Properties:{rotation:'10'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'10'}}");
 | |
| +                DataConverterFlattenData.register(1019, "{Name:'minecraft:oak_sign',Properties:{rotation:'11'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'11'}}");
 | |
| +                DataConverterFlattenData.register(1020, "{Name:'minecraft:oak_sign',Properties:{rotation:'12'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'12'}}");
 | |
| +                DataConverterFlattenData.register(1021, "{Name:'minecraft:oak_sign',Properties:{rotation:'13'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'13'}}");
 | |
| +                DataConverterFlattenData.register(1022, "{Name:'minecraft:oak_sign',Properties:{rotation:'14'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'14'}}");
 | |
| +                DataConverterFlattenData.register(1023, "{Name:'minecraft:oak_sign',Properties:{rotation:'15'}}", "{Name:'minecraft:standing_sign',Properties:{rotation:'15'}}");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(323, "minecraft:oak_sign");
 | |
| +
 | |
| +                DataConverterFlattenData.register(1440, "{Name:\'minecraft:portal\',Properties:{axis:\'x\'}}", new String[]{"{Name:\'minecraft:portal\',Properties:{axis:\'x\'}}"});
 | |
| +
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(409, "minecraft:prismarine_shard");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(410, "minecraft:prismarine_crystals");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(411, "minecraft:rabbit");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(412, "minecraft:cooked_rabbit");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(413, "minecraft:rabbit_stew");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(414, "minecraft:rabbit_foot");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(415, "minecraft:rabbit_hide");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(416, "minecraft:armor_stand");
 | |
| +
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(423, "minecraft:mutton");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(424, "minecraft:cooked_mutton");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(425, "minecraft:banner");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(426, "minecraft:end_crystal");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(427, "minecraft:spruce_door");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(428, "minecraft:birch_door");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(429, "minecraft:jungle_door");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(430, "minecraft:acacia_door");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(431, "minecraft:dark_oak_door");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(432, "minecraft:chorus_fruit");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(433, "minecraft:chorus_fruit_popped");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(434, "minecraft:beetroot");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(435, "minecraft:beetroot_seeds");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(436, "minecraft:beetroot_soup");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(437, "minecraft:dragon_breath");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(438, "minecraft:splash_potion");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(439, "minecraft:spectral_arrow");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(440, "minecraft:tipped_arrow");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(441, "minecraft:lingering_potion");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(442, "minecraft:shield");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(443, "minecraft:elytra");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(444, "minecraft:spruce_boat");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(445, "minecraft:birch_boat");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(446, "minecraft:jungle_boat");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(447, "minecraft:acacia_boat");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(448, "minecraft:dark_oak_boat");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(449, "minecraft:totem_of_undying");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(450, "minecraft:shulker_shell");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(452, "minecraft:iron_nugget");
 | |
| +                DataConverterMaterialId.ITEM_NAMES.put(453, "minecraft:knowledge_book");
 | |
| +
 | |
| +                DataConverterSpawnEgg.ID_TO_ENTITY[23] = "Arrow";
 | |
| +                // CraftBukkit end
 | |
|              }
 | |
|          }
 | |
|      }
 | 
