aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/kubatech/loaders/block/BlockProxy.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/kubatech/loaders/block/BlockProxy.java')
-rw-r--r--src/main/java/kubatech/loaders/block/BlockProxy.java76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/main/java/kubatech/loaders/block/BlockProxy.java b/src/main/java/kubatech/loaders/block/BlockProxy.java
new file mode 100644
index 0000000000..1c06fd50d9
--- /dev/null
+++ b/src/main/java/kubatech/loaders/block/BlockProxy.java
@@ -0,0 +1,76 @@
+package kubatech.loaders.block;
+
+import static kubatech.loaders.block.KubaBlock.defaultTileEntityUI;
+
+import com.gtnewhorizons.modularui.api.screen.ITileWithModularUI;
+import java.util.List;
+import kubatech.Tags;
+import net.minecraft.block.material.Material;
+import net.minecraft.client.renderer.texture.IIconRegister;
+import net.minecraft.entity.EntityLivingBase;
+import net.minecraft.entity.player.EntityPlayer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntity;
+import net.minecraft.util.IIcon;
+import net.minecraft.util.StatCollector;
+import net.minecraft.world.World;
+
+public class BlockProxy {
+
+ private final String unlocalizedName;
+ private final String texturepath;
+ private IIcon icon;
+
+ public BlockProxy(String unlocalizedName, String texture) {
+ this.unlocalizedName = "kubablock." + unlocalizedName;
+ texturepath = Tags.MODID + ":" + texture;
+ }
+
+ public void itemInit(int ID) {}
+
+ public boolean onActivated(World world, int x, int y, int z, EntityPlayer player) {
+ if (this instanceof IProxyTileEntityProvider) {
+ TileEntity te = world.getTileEntity(x, y, z);
+ if (te instanceof ITileWithModularUI) {
+ if (world.isRemote) return true;
+ if (te instanceof KubaBlock.IModularUIProvider)
+ ((KubaBlock.IModularUIProvider) te).getUI().open(player, world, x, y, z);
+ else defaultTileEntityUI.open(player, world, x, y, z);
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public void onBlockPlaced(World world, int x, int y, int z, EntityLivingBase player, ItemStack stack) {}
+
+ public void registerIcon(IIconRegister iconRegister) {
+ icon = iconRegister.registerIcon(texturepath);
+ }
+
+ public IIcon getIcon(int side) {
+ return icon;
+ }
+
+ public String getUnlocalizedName() {
+ return this.unlocalizedName;
+ }
+
+ public String getDisplayName(ItemStack stack) {
+ return StatCollector.translateToLocal(this.unlocalizedName + ".name").trim();
+ }
+
+ public void addInformation(ItemStack stack, EntityPlayer entity, List<String> tooltipList, boolean showDebugInfo) {}
+
+ public float getHardness() {
+ return 10.f;
+ }
+
+ public Material getMaterial() {
+ return Material.anvil;
+ }
+
+ public float getResistance() {
+ return 5.f;
+ }
+}