Advertisement
Dudemister1999

BlockManager.java - Formatting is 'fixed'

Jan 26th, 2015
159
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. import java.lang.reflect.Field;
  2. import java.lang.reflect.Modifier;
  3. import net.minecraft.server.v1_8_R1.Block;
  4. import net.minecraft.server.v1_8_R1.Blocks;
  5. import net.minecraft.server.v1_8_R1.MinecraftKey;
  6.  
  7. public class BlockManager
  8. {
  9.     static void setFinalStatic(Class clazz, String fieldName, Object newValue)
  10.     {
  11.         try
  12.         {
  13.             Field field = clazz.getDeclaredField(fieldName);
  14.             field.setAccessible(true);
  15.             Field modifiers = field.getClass().getDeclaredField("modifiers");
  16.             modifiers.setAccessible(true);
  17.             modifiers.setInt(field, field.getModifiers() & ~Modifier.FINAL);
  18.             field.set(null, newValue);
  19.         }
  20.         catch (NoSuchFieldException | SecurityException | IllegalArgumentException | IllegalAccessException ex)
  21.         {
  22.             ex.printStackTrace(System.err);
  23.         }
  24.     }
  25.  
  26.     public static void startup()
  27.     {
  28.         NewTNT override = new NewTNT();
  29.         MinecraftKey tntID = new MinecraftKey("tnt");
  30.        
  31.  
  32.         Block.REGISTRY.a(46, tntID, override);
  33.         setFinalStatic(Blocks.class, "TNT", override);
  34.        
  35.         System.out.println("Blocks class:");
  36.         System.out.println(Blocks.TNT);
  37.        
  38.         System.out.println("Block Registry:");
  39.         System.out.println(Block.REGISTRY.get(tntID));
  40.     }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement