add rename text accessors

This commit is contained in:
jascotty2 2019-09-15 07:38:28 -05:00
parent 2ce89ff705
commit 2969ce39dc
13 changed files with 256 additions and 3 deletions

View File

@ -21,6 +21,10 @@ public interface CustomAnvil {
public void setCustomTitle(String title);
public String getRenameText();
public void setRenameText(String text);
public ItemStack getLeftInput();
public ItemStack getRightInput();

View File

@ -6,14 +6,14 @@ import org.bukkit.Bukkit;
public class NmsManager {
private final static CoreNMS nms = _getNMS();
private final static String serverPackagePath = Bukkit.getServer().getClass().getPackage().getName();
private final static String serverPackageVersion = serverPackagePath.substring(serverPackagePath.lastIndexOf('.') + 1);
private final static CoreNMS nms = _getNMS();
private static CoreNMS _getNMS() {
CoreNMS result = null;
try {
result = (CoreNMS) Class.forName("com.songoda.core.nms" + serverPackageVersion + "NMS").newInstance();
result = (CoreNMS) Class.forName("com.songoda.core.nms." + serverPackageVersion + ".NMS").newInstance();
} catch (Exception ex) {
Logger.getLogger(NmsManager.class.getName()).log(Level.SEVERE, "Failed to load NMS for this server version", ex);
}

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_10_R1;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_10_R1.BlockPosition;
import net.minecraft.server.v1_10_R1.ChatMessage;
import net.minecraft.server.v1_10_R1.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_11_R1;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_11_R1.BlockPosition;
import net.minecraft.server.v1_11_R1.ChatMessage;
import net.minecraft.server.v1_11_R1.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -37,6 +37,16 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
return this.renameText;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -38,6 +38,16 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
return this.renameText;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -38,6 +38,16 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
return this.renameText;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -92,6 +92,16 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
return this.renameText;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return customTitle;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_8_R1;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_8_R1.BlockPosition;
import net.minecraft.server.v1_8_R1.ChatMessage;
import net.minecraft.server.v1_8_R1.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_8_R2;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_8_R2.BlockPosition;
import net.minecraft.server.v1_8_R2.ChatMessage;
import net.minecraft.server.v1_8_R2.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_8_R3;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_8_R3.BlockPosition;
import net.minecraft.server.v1_8_R3.ChatMessage;
import net.minecraft.server.v1_8_R3.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_9_R1;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_9_R1.BlockPosition;
import net.minecraft.server.v1_9_R1.ChatMessage;
import net.minecraft.server.v1_9_R1.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;

View File

@ -1,6 +1,9 @@
package com.songoda.core.nms.v1_9_R2;
import com.songoda.core.nms.CustomAnvil;
import java.lang.reflect.Field;
import java.util.logging.Level;
import java.util.logging.Logger;
import net.minecraft.server.v1_9_R2.BlockPosition;
import net.minecraft.server.v1_9_R2.ChatMessage;
import net.minecraft.server.v1_9_R2.ContainerAnvil;
@ -18,6 +21,17 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
private int cost = -1;
private boolean canUse = true;
static Field mc_ContainerAnvil_renameText;
static {
try {
mc_ContainerAnvil_renameText = ContainerAnvil.class.getDeclaredField("l");
mc_ContainerAnvil_renameText.setAccessible(true);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
}
public AnvilView(EntityPlayer entity) {
super(entity.inventory, entity.world, new BlockPosition(0, 0, 0), entity);
this.entity = entity;
@ -37,6 +51,22 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
}
}
@Override
public String getRenameText() {
try {
//return this.l;
return (String) mc_ContainerAnvil_renameText.get(this);
} catch (Exception ex) {
Logger.getLogger(AnvilView.class.getName()).log(Level.SEVERE, "Anvil Error", ex);
}
return null;
}
@Override
public void setRenameText(String text) {
this.a(text);
}
@Override
public String getCustomTitle() {
return title;
@ -115,5 +145,4 @@ public class AnvilView extends ContainerAnvil implements CustomAnvil {
// Add the slot listener
entity.activeContainer.addSlotListener(entity);
}
}