Skip to content

Instantly share code, notes, and snippets.

@thomas15v
Created July 6, 2015 11:45
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save thomas15v/c86ec61a581cc2ad5b09 to your computer and use it in GitHub Desktop.
Save thomas15v/c86ec61a581cc2ad5b09 to your computer and use it in GitHub Desktop.
package com.thedeviantnetwork.deviantfix.mixin.computercraft;
import com.thedeviantnetwork.deviantfix.logic.computercraft.ITurtle;
import dan200.computercraft.shared.turtle.blocks.TileTurtle;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.nbt.NBTTagCompound;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.injection.At;
import org.spongepowered.asm.mixin.injection.Inject;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
import java.util.UUID;
@Mixin(TileTurtle.class)
public class MixinTileTurtle implements ITurtle {
private UUID lastInteracted;
@Override
public UUID getLastInteracted() {
return lastInteracted;
}
@Inject(method = "onActivate", at = @At("HEAD"), remap = false)
private void onInteract(EntityPlayer player, int side, float hitX, float hitY, float hitZ, CallbackInfoReturnable<Boolean> callbackInfo){
lastInteracted = player.getPersistentID();
System.out.println(lastInteracted);
}
//readFromNBT
@Inject(method = "func_145839_a", at = @At("HEAD"), remap = false)
public void readlastInteracted(NBTTagCompound nbttagcompound, CallbackInfo callbackInfo) {
String lastInteractedstring = nbttagcompound.getString("lastInteracted");
if (lastInteractedstring == null)
lastInteracted = UUID.fromString("41c82c87-7afb-4024-ba57-13d2c99cae77");
else
lastInteracted = UUID.fromString(lastInteractedstring);
System.out.println("READ " + lastInteractedstring);
}
//writeToNBT
@Inject(method = "func_145841_b", at = @At("HEAD"), remap = false)
public void writeTlastInteracted(NBTTagCompound nbttagcompound, CallbackInfo callbackInfo) {
nbttagcompound.setString("lastInteracted", lastInteracted.toString());
System.out.println("write " + lastInteracted);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment