Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2016
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.94 KB | None | 0 0
  1.                 ClassPool classPool = HookManager.getInstance().getClassPool();
  2.  
  3.                 String descriptor = Descriptor.ofMethod(CtClass.booleanType, new CtClass[]{});
  4.                 HookManager.getInstance().registerHook("com.wurmonline.server.items.Item", "checkDecay", descriptor, new InvocationHandlerFactory() {
  5.  
  6.                     @Override
  7.                     public InvocationHandler createInvocationHandler() {
  8.                         return new InvocationHandler() {
  9.  
  10.                             @Override
  11.                             public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
  12.                                 Object returned = method.invoke(proxy, args);
  13.                                 Item HoldItem = (Item)proxy;
  14.                                 if (HoldItem.isHugeAltar()) {
  15.                                     return false;
  16.                                 }
  17.                                 if (HoldItem.getQualityLevel() > 0.0f && HoldItem.getDamage() < 100.0f) {
  18.                                     return false;
  19.                                 }
  20.                                 if (HoldItem.getOwnerId() == -10L) {
  21.                                     if (HoldItem.hatching) {
  22.                                         if (HoldItem.getTemplateId() == 805) {
  23.                                             final IslandAdder adder = new IslandAdder(Server.surfaceMesh, Server.rockMesh);
  24.                                             final Map<Integer, Set<Integer>> changes = adder.forceIsland(50, 50, HoldItem.getTileX() - 25, HoldItem.getTileY() - 25);
  25.                                             if (changes != null) {
  26.                                                 for (final Map.Entry<Integer, Set<Integer>> me : changes.entrySet()) {
  27.                                                     final Integer x = me.getKey();
  28.                                                     final Set<Integer> set = me.getValue();
  29.                                                     for (final Integer y : set) {
  30.                                                         Players.getInstance().sendChangedTile(x, y, true, true);
  31.                                                     }
  32.                                                 }
  33.                                             }
  34.                                         } else if (HoldItem.getTemplateId() == 1009) {
  35.                                             final TerraformingTask task = new TerraformingTask(0, (byte) 0, HoldItem.creator, 2, 0, true);
  36.                                             task.setCoordinates();
  37.                                             task.setSXY(HoldItem.getTileX(), HoldItem.getTileY());
  38.                                         }
  39.                                     }
  40.                                 }
  41.                                 return returned;
  42.                             }
  43.                         };
  44.                     }
  45.                 });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement