Migration work on TR armor

This commit is contained in:
drcrazy 2019-02-20 23:12:36 +03:00
parent f08fd1da4d
commit 5bc08557b3
8 changed files with 204 additions and 192 deletions

View file

@ -32,6 +32,7 @@ apply plugin: 'maven-publish'
apply plugin: net.minecrell.gradle.licenser.Licenser
apply plugin: 'de.undercouch.download'
apply plugin: 'idea'
apply plugin: 'eclipse'
//apply plugin: 'net.covers1624.contained-deps'
sourceCompatibility = 1.8

View file

@ -26,24 +26,17 @@ package techreborn;
import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.gen.structure.MapGenStructureIO;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.*;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.ForgeRegistries;
import net.minecraftforge.fml.common.registry.GameRegistry;
import net.minecraftforge.fml.common.registry.VillagerRegistry;
import net.minecraftforge.fml.relauncher.Side;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import reborncore.RebornCore;
@ -75,7 +68,7 @@ import techreborn.world.village.VillagePlantaionHandler;
import java.io.File;
@Mod(modid = TechReborn.MOD_ID, name = TechReborn.MOD_NAME, version = TechReborn.MOD_VERSION, dependencies = TechReborn.MOD_DEPENDENCIES, acceptedMinecraftVersions = "[1.12,1.12.2]", certificateFingerprint = "8727a3141c8ec7f173b87aa78b9b9807867c4e6b", guiFactory = "techreborn.client.TechRebornGuiFactory")
@Mod("techreborn")
public class TechReborn {
public static final String MOD_ID = "techreborn";
@ -87,48 +80,46 @@ public class TechReborn {
public static final String GUI_FACTORY_CLASS = "techreborn.config.TechRebornGUIFactory";
public static final Logger LOGGER = LogManager.getLogger(MOD_ID);
@SidedProxy(clientSide = TechReborn.CLIENT_PROXY_CLASS, serverSide = TechReborn.SERVER_PROXY_CLASS)
// @SidedProxy(clientSide = TechReborn.CLIENT_PROXY_CLASS, serverSide = TechReborn.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
@Mod.Instance
// @Mod.Instance
public static TechReborn INSTANCE;
public static TechRebornWorldGen worldGen;
public static File configDir;
public static final CreativeTabs TAB = new CreativeTabs(MOD_ID) {
@Override
public ItemStack createIcon() {
return TRContent.Parts.MACHINE_PARTS.getStack();
}
};
// public static final CreativeTabs TAB = new CreativeTabs(MOD_ID) {
// @Override
// public ItemStack createIcon() {
// return TRContent.Parts.MACHINE_PARTS.getStack();
// }
// };
public TechReborn() {
//Forge says to call it here, so yeah
FluidRegistry.enableUniversalBucket();
MinecraftForge.EVENT_BUS.register(this);
}
@Mod.EventHandler
@SubscribeEvent
public void preinit(FMLPreInitializationEvent event) throws IllegalAccessException, InstantiationException {
event.getModMetadata().version = MOD_VERSION;
INSTANCE = this;
MinecraftForge.EVENT_BUS.register(this);
configDir = new File(new File(event.getModConfigurationDirectory(), "teamreborn"), "techreborn");
INSTANCE = this;
configDir = new File(new File("teamreborn"), "techreborn");
worldGen = new TechRebornWorldGen();
worldGen.configFile = (new File(configDir, "ores.json"));
CommonProxy.isChiselAround = Loader.isModLoaded("ctm");
//CommonProxy.isChiselAround = Loader.isModLoaded("ctm");
TechRebornAPI.subItemRetriever = new SubItemRetriever();
// Registration
TRTileEntities.init();
ModFluids.init();
// Entitys
EntityRegistry.registerModEntity(new ResourceLocation("techreborn", "nuke"), EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
//EntityRegistry.registerModEntity(new ResourceLocation("techreborn", "nuke"), EntityNukePrimed.class, "nuke", 0, INSTANCE, 160, 5, true);
proxy.preInit(event);
}
@Mod.EventHandler
@SubscribeEvent
public void init(FMLInitializationEvent event) {
// Registers Chest Loot
ModLoot.init();
@ -139,10 +130,10 @@ public class TechReborn {
proxy.init(event);
// WorldGen
worldGen.load();
GameRegistry.registerWorldGenerator(worldGen, 0);
GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0);
//GameRegistry.registerWorldGenerator(worldGen, 0);
//GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0);
// Register Gui Handler
NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler());
//NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler());
// Event busses
MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
MinecraftForge.EVENT_BUS.register(new BlockBreakHandler());
@ -154,19 +145,19 @@ public class TechReborn {
//Village stuff
if (ConfigTechReborn.enableRubberTreePlantation) {
VillagerRegistry.instance().registerVillageCreationHandler(new VillagePlantaionHandler());
MapGenStructureIO.registerStructureComponent(VillageComponentRubberPlantaion.class, new ResourceLocation(MOD_ID, "rubberplantation").toString());
//MapGenStructureIO.registerStructureComponent(VillageComponentRubberPlantaion.class, new ResourceLocation(MOD_ID, "rubberplantation").toString());
ModLootTables.CHESTS_RUBBER_PLANTATION.toString(); //Done to make it load, then it will be read from disk
}
// Scrapbox
if (BehaviorDispenseScrapbox.dispenseScrapboxes) {
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(TRContent.SCRAP_BOX, new BehaviorDispenseScrapbox());
//BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(TRContent.SCRAP_BOX, new BehaviorDispenseScrapbox());
}
Torus.genSizeMap(TileFusionControlComputer.maxCoilSize);
}
@Mod.EventHandler
@SubscribeEvent
public void postinit(FMLPostInitializationEvent event) {
proxy.postInit(event);
@ -179,53 +170,53 @@ public class TechReborn {
//todo: remove, gens localization
for (Item item : ForgeRegistries.ITEMS.getValues()) {
if (item.getRegistryName().getNamespace().equals("techreborn")) {
StringBuilder localName = new StringBuilder();
String[] words = item.getRegistryName().getPath().split("_|\\.");
for (String word : words) {
if (!word.contains("techreborn")) {
if (localName.length() > 0) {
localName.append(" ");
}
localName.append(StringUtils.toFirstCapital(word));
}
}
// for (Item item : ForgeRegistries.ITEMS.getValues()) {
// if (item.getRegistryName().getNamespace().equals("techreborn")) {
// StringBuilder localName = new StringBuilder();
// String[] words = item.getRegistryName().getPath().split("_|\\.");
// for (String word : words) {
// if (!word.contains("techreborn")) {
// if (localName.length() > 0) {
// localName.append(" ");
// }
// localName.append(StringUtils.toFirstCapital(word));
// }
// }
// System.out.println("item.techreborn." + item.getRegistryName().getPath() + ".name=" + localName);
}
}
for (Block item : ForgeRegistries.BLOCKS.getValues()) {
if (item.getRegistryName().getNamespace().equals("techreborn")) {
StringBuilder localName = new StringBuilder();
String[] words = item.getRegistryName().getPath().split("_|\\.");
for (String word : words) {
if (!word.contains("techreborn")) {
if (localName.length() > 0) {
localName.append(" ");
}
localName.append(StringUtils.toFirstCapital(word));
}
}
// }
// }
// for (Block item : ForgeRegistries.BLOCKS.getValues()) {
// if (item.getRegistryName().getNamespace().equals("techreborn")) {
// StringBuilder localName = new StringBuilder();
// String[] words = item.getRegistryName().getPath().split("_|\\.");
// for (String word : words) {
// if (!word.contains("techreborn")) {
// if (localName.length() > 0) {
// localName.append(" ");
// }
// localName.append(StringUtils.toFirstCapital(word));
// }
// }
// System.out.println("tile.techreborn." + item.getRegistryName().getPath() + ".name=" + localName);
}
}
// }
// }
}
@Mod.EventHandler
@SubscribeEvent
public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new TechRebornDevCommand());
//event.registerServerCommand(new TechRebornDevCommand());
}
@SubscribeEvent
public void LoadPackets(RegisterPacketEvent event) {
event.registerPacket(PacketAesu.class, Side.SERVER);
event.registerPacket(PacketIdsu.class, Side.SERVER);
event.registerPacket(PacketRollingMachineLock.class, Side.SERVER);
event.registerPacket(PacketFusionControlSize.class, Side.SERVER);
event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER);
// event.registerPacket(PacketAesu.class, Side.SERVER);
// event.registerPacket(PacketIdsu.class, Side.SERVER);
// event.registerPacket(PacketRollingMachineLock.class, Side.SERVER);
// event.registerPacket(PacketFusionControlSize.class, Side.SERVER);
// event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER);
}
@Mod.EventHandler
@SubscribeEvent
public void onFingerprintViolation(FMLFingerprintViolationEvent event) {
LOGGER.warn("Invalid fingerprint detected for Tech Reborn!");
RebornCore.proxy.invalidFingerprints.add("Invalid fingerprint detected for Tech Reborn!");

View file

@ -25,10 +25,8 @@
package techreborn.api;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item.ToolMaterial;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.util.SoundEvent;
import net.minecraftforge.common.util.EnumHelper;
/**
* This contains some static stuff used in recipes and other things
@ -36,21 +34,22 @@ import net.minecraftforge.common.util.EnumHelper;
public class Reference {
private static final Class<?>[] ARMOR_PARAMETERS = { String.class, int.class, int[].class, int.class, SoundEvent.class, float.class };
public static ArmorMaterial BRONZE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "BRONZE", ARMOR_PARAMETERS, "techreborn:bronze", 17, new int[] { 3, 6, 5,
2 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
public static ArmorMaterial RUBY_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "RUBY", ARMOR_PARAMETERS, "techreborn:ruby", 16, new int[] { 2, 7, 5,
2 }, 10, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
public static ArmorMaterial SAPPHIRE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "SAPPHIRE", ARMOR_PARAMETERS, "techreborn:sapphire", 19, new int[] { 4, 4, 4,
4 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
public static ArmorMaterial PERIDOT_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "PERIDOT", ARMOR_PARAMETERS, "techreborn:peridot", 17, new int[] { 3, 8, 3,
2 }, 16, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
public static ArmorMaterial CLOAKING_ARMOR = EnumHelper.addEnum(ArmorMaterial.class, "CLOAKING", ARMOR_PARAMETERS, "techreborn:cloaking", 5, new int[] { 1, 2, 3,
1 }, 0, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0F);
public static ToolMaterial BRONZE = EnumHelper.addToolMaterial("BRONZE", 2, 375, 6.0F, 2.25F, 8);
public static ToolMaterial RUBY = EnumHelper.addToolMaterial("RUBY", 2, 320, 6.2F, 2.7F, 10);
public static ToolMaterial SAPPHIRE = EnumHelper.addToolMaterial("SAPPHIRE", 2, 620, 5.0F, 2F, 8);
public static ToolMaterial PERIDOT = EnumHelper.addToolMaterial("PERIDOT", 2, 400, 7.0F, 2.4F, 16);
//TODO: Fixme
// public static ArmorMaterial BRONZE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "BRONZE", ARMOR_PARAMETERS, "techreborn:bronze", 17, new int[] { 3, 6, 5,
// 2 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
// public static ArmorMaterial RUBY_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "RUBY", ARMOR_PARAMETERS, "techreborn:ruby", 16, new int[] { 2, 7, 5,
// 2 }, 10, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
// public static ArmorMaterial SAPPHIRE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "SAPPHIRE", ARMOR_PARAMETERS, "techreborn:sapphire", 19, new int[] { 4, 4, 4,
// 4 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
// public static ArmorMaterial PERIDOT_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "PERIDOT", ARMOR_PARAMETERS, "techreborn:peridot", 17, new int[] { 3, 8, 3,
// 2 }, 16, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
// public static ArmorMaterial CLOAKING_ARMOR = EnumHelper.addEnum(ArmorMaterial.class, "CLOAKING", ARMOR_PARAMETERS, "techreborn:cloaking", 5, new int[] { 1, 2, 3,
// 1 }, 0, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 0F);
//
// public static ToolMaterial BRONZE = EnumHelper.addToolMaterial("BRONZE", 2, 375, 6.0F, 2.25F, 8);
// public static ToolMaterial RUBY = EnumHelper.addToolMaterial("RUBY", 2, 320, 6.2F, 2.7F, 10);
// public static ToolMaterial SAPPHIRE = EnumHelper.addToolMaterial("SAPPHIRE", 2, 620, 5.0F, 2F, 8);
// public static ToolMaterial PERIDOT = EnumHelper.addToolMaterial("PERIDOT", 2, 400, 7.0F, 2.4F, 16);
public static String ALLOY_SMELTER_RECIPE = "ALLOY_SMELTER_RECIPE";
public static String ASSEMBLING_MACHINE_RECIPE = "ASSEMBLING_MACHINE_RECIPE";

View file

@ -49,7 +49,6 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Items.BLAZE_POWDER));
register(getStack(Items.WHEAT));
register(getStack(Items.CARROT));
register(getStack(Items.BOAT));
register(getStack(Items.ACACIA_BOAT));
register(getStack(Items.BIRCH_BOAT));
register(getStack(Items.DARK_OAK_BOAT));
@ -61,22 +60,33 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Items.LEATHER_LEGGINGS));
register(getStack(Items.BOW));
register(getStack(Items.COOKED_CHICKEN));
register(getStack(Items.CAKE));
register(getStack(Items.ACACIA_DOOR));
register(getStack(Items.DARK_OAK_DOOR));
register(getStack(Items.BIRCH_DOOR));
register(getStack(Items.JUNGLE_DOOR));
register(getStack(Items.OAK_DOOR));
register(getStack(Items.SPRUCE_DOOR));
// TODO: Migrate
// register(getStack(Items.CAKE));
register(getStack(Items.WOODEN_AXE));
register(getStack(Items.WOODEN_HOE));
register(getStack(Items.WOODEN_PICKAXE));
register(getStack(Items.WOODEN_SHOVEL));
register(getStack(Items.WOODEN_SWORD));
register(getStack(Items.BED));
register(getStack(Items.SKULL, 1, 0));
register(getStack(Items.SKULL, 1, 2));
register(getStack(Items.SKULL, 1, 4));
register(getStack(Items.WHITE_BED));
register(getStack(Items.ORANGE_BED));
register(getStack(Items.MAGENTA_BED));
register(getStack(Items.LIGHT_BLUE_BED));
register(getStack(Items.YELLOW_BED));
register(getStack(Items.LIME_BED));
register(getStack(Items.PINK_BED));
register(getStack(Items.GRAY_BED));
register(getStack(Items.LIGHT_GRAY_BED));
register(getStack(Items.CYAN_BED));
register(getStack(Items.PURPLE_BED));
register(getStack(Items.BLUE_BED));
register(getStack(Items.BROWN_BED));
register(getStack(Items.GREEN_BED));
register(getStack(Items.RED_BED));
register(getStack(Items.BLACK_BED));
// register(getStack(Items.SKULL, 1, 0));
// register(getStack(Items.SKULL, 1, 2));
// register(getStack(Items.SKULL, 1, 4));
for (int i = 0; i < StackWIPHandler.devHeads.size(); i++)
register(StackWIPHandler.devHeads.get(i));
register(getStack(Items.GLOWSTONE_DUST));
@ -94,7 +104,7 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Items.BOOK));
register(getStack(Items.PAPER));
register(getStack(Items.SUGAR));
register(getStack(Items.REEDS));
// register(getStack(Items.REEDS));
register(getStack(Items.SPIDER_EYE));
register(getStack(Items.SLIME_BALL));
register(getStack(Items.ROTTEN_FLESH));
@ -118,9 +128,9 @@ public class ScrapboxRecipes extends RecipeMethods {
// register(getMaterial("sap", Type.PART));
// register(getMaterial("rubber", Type.PART));
register(getStack(Blocks.TRAPDOOR));
// register(getStack(Blocks.TRAPDOOR));
register(getStack(Blocks.STONE_BUTTON));
register(getStack(Blocks.WOODEN_BUTTON));
// register(getStack(Blocks.WOODEN_BUTTON));
register(getStack(Blocks.ACACIA_FENCE));
register(getStack(Blocks.ACACIA_FENCE_GATE));
register(getStack(Blocks.BIRCH_FENCE));
@ -134,7 +144,7 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Blocks.OAK_FENCE_GATE));
register(getStack(Blocks.SPRUCE_FENCE));
register(getStack(Blocks.SPRUCE_FENCE_GATE));
register(getStack(Blocks.BRICK_BLOCK));
// register(getStack(Blocks.BRICK_BLOCK));
register(getStack(Blocks.CRAFTING_TABLE));
register(getStack(Blocks.PUMPKIN));
register(getStack(Blocks.NETHERRACK));
@ -145,45 +155,45 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Blocks.SAND, 1, 1));
register(getStack(Blocks.GLOWSTONE));
register(getStack(Blocks.GRAVEL));
register(getStack(Blocks.HARDENED_CLAY));
// register(getStack(Blocks.HARDENED_CLAY));
register(getStack(Blocks.GLASS));
register(getStack(Blocks.GLASS_PANE));
register(getStack(Blocks.CACTUS));
register(getStack(Blocks.TALLGRASS, 1, 0));
register(getStack(Blocks.TALLGRASS, 1, 1));
register(getStack(Blocks.DEADBUSH));
// register(getStack(Blocks.TALLGRASS, 1, 0));
// register(getStack(Blocks.TALLGRASS, 1, 1));
// register(getStack(Blocks.DEADBUSH));
register(getStack(Blocks.CHEST));
register(getStack(Blocks.TNT));
register(getStack(Blocks.RAIL));
register(getStack(Blocks.DETECTOR_RAIL));
register(getStack(Blocks.GOLDEN_RAIL));
// register(getStack(Blocks.GOLDEN_RAIL));
register(getStack(Blocks.ACTIVATOR_RAIL));
register(getStack(Blocks.YELLOW_FLOWER));
register(getStack(Blocks.RED_FLOWER, 1, 0));
register(getStack(Blocks.RED_FLOWER, 1, 1));
register(getStack(Blocks.RED_FLOWER, 1, 2));
register(getStack(Blocks.RED_FLOWER, 1, 3));
register(getStack(Blocks.RED_FLOWER, 1, 4));
register(getStack(Blocks.RED_FLOWER, 1, 5));
register(getStack(Blocks.RED_FLOWER, 1, 6));
register(getStack(Blocks.RED_FLOWER, 1, 7));
register(getStack(Blocks.RED_FLOWER, 1, 8));
// register(getStack(Blocks.YELLOW_FLOWER));
// register(getStack(Blocks.RED_FLOWER, 1, 0));
// register(getStack(Blocks.RED_FLOWER, 1, 1));
// register(getStack(Blocks.RED_FLOWER, 1, 2));
// register(getStack(Blocks.RED_FLOWER, 1, 3));
// register(getStack(Blocks.RED_FLOWER, 1, 4));
// register(getStack(Blocks.RED_FLOWER, 1, 5));
// register(getStack(Blocks.RED_FLOWER, 1, 6));
// register(getStack(Blocks.RED_FLOWER, 1, 7));
// register(getStack(Blocks.RED_FLOWER, 1, 8));
register(getStack(Blocks.BROWN_MUSHROOM));
register(getStack(Blocks.RED_MUSHROOM));
register(getStack(Blocks.BROWN_MUSHROOM_BLOCK));
register(getStack(Blocks.RED_MUSHROOM_BLOCK));
register(getStack(Blocks.SAPLING, 1, 0));
register(getStack(Blocks.SAPLING, 1, 1));
register(getStack(Blocks.SAPLING, 1, 2));
register(getStack(Blocks.SAPLING, 1, 3));
register(getStack(Blocks.SAPLING, 1, 4));
register(getStack(Blocks.SAPLING, 1, 5));
register(getStack(Blocks.LEAVES, 1, 0));
register(getStack(Blocks.LEAVES, 1, 1));
register(getStack(Blocks.LEAVES, 1, 2));
register(getStack(Blocks.LEAVES, 1, 3));
register(getStack(Blocks.LEAVES2, 1, 0));
register(getStack(Blocks.LEAVES2, 1, 1));
// register(getStack(Blocks.SAPLING, 1, 0));
// register(getStack(Blocks.SAPLING, 1, 1));
// register(getStack(Blocks.SAPLING, 1, 2));
// register(getStack(Blocks.SAPLING, 1, 3));
// register(getStack(Blocks.SAPLING, 1, 4));
// register(getStack(Blocks.SAPLING, 1, 5));
// register(getStack(Blocks.LEAVES, 1, 0));
// register(getStack(Blocks.LEAVES, 1, 1));
// register(getStack(Blocks.LEAVES, 1, 2));
// register(getStack(Blocks.LEAVES, 1, 3));
// register(getStack(Blocks.LEAVES2, 1, 0));
// register(getStack(Blocks.LEAVES2, 1, 1));
register(getStack(TRContent.RUBBER_SAPLING));
@ -199,12 +209,12 @@ public class ScrapboxRecipes extends RecipeMethods {
// register(ItemGems.getGemByName(i));
// }
registerDyable(Items.DYE);
registerDyable(Blocks.WOOL);
registerDyable(Blocks.CARPET);
registerDyable(Blocks.STAINED_GLASS);
registerDyable(Blocks.STAINED_GLASS_PANE);
registerDyable(Blocks.STAINED_HARDENED_CLAY);
// registerDyable(Items.DYE);
// registerDyable(Blocks.WOOL);
// registerDyable(Blocks.CARPET);
// registerDyable(Blocks.STAINED_GLASS);
// registerDyable(Blocks.STAINED_GLASS_PANE);
// registerDyable(Blocks.STAINED_HARDENED_CLAY);
}
static void register(ItemStack output) {
@ -220,6 +230,6 @@ public class ScrapboxRecipes extends RecipeMethods {
}
static void registerDyable(Block block) {
registerDyable(Item.getItemFromBlock(block));
//registerDyable(Item.getItemFromBlock(block));
}
}

View file

@ -24,11 +24,12 @@
package techreborn.items.armor;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.MobEffects;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
@ -44,7 +45,6 @@ import reborncore.common.powerSystem.forge.ForgePowerItemManager;
import reborncore.common.registration.RebornRegister;
import reborncore.common.util.ItemUtils;
import techreborn.TechReborn;
import techreborn.api.Reference;
import techreborn.config.ConfigTechReborn;
import techreborn.init.TRContent;
@ -60,8 +60,9 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
// 40M FE capacity with 10k FE\t charge rate
public ItemCloakingDevice() {
super(Reference.CLOAKING_ARMOR, EntityEquipmentSlot.CHEST);
setMaxStackSize(1);
//TODO: Update ArmorMaterial
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST);
//setMaxStackSize(1);
}
// Item
@ -72,30 +73,38 @@ public class ItemCloakingDevice extends ItemTRArmour implements IEnergyItemInfo
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
if (entityIn instanceof EntityPlayer) {
IEnergyStorage capEnergy = new ForgePowerItemManager(stack);
if (capEnergy != null && capEnergy.getEnergyStored() >= usage) {
capEnergy.extractEnergy(usage, false);
player.setInvisible(true);
// TODO: Optimize
((EntityPlayer) entityIn).setInvisible(true);
} else {
if (!player.isPotionActive(MobEffects.INVISIBILITY)) {
player.setInvisible(false);
if (!((EntityPlayer) entityIn).isPotionActive(MobEffects.INVISIBILITY)) {
((EntityPlayer) entityIn).setInvisible(false);
}
}
}
}
public void onArmorTick(World world, EntityPlayer player, ItemStack stack) {
}
@OnlyIn(Dist.CLIENT)
@Override
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
if (!isInCreativeTab(par2CreativeTabs)) {
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
if (!isInGroup(group)) {
return;
}
ItemStack uncharged = new ItemStack(TRContent.CLOAKING_DEVICE);
ItemStack charged = new ItemStack(TRContent.CLOAKING_DEVICE);
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
itemList.add(uncharged);
// itemList.add(charged);
items.add(uncharged);
items.add(charged);
}
@Override

View file

@ -24,11 +24,13 @@
package techreborn.items.armor;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
@ -39,11 +41,8 @@ import net.minecraftforge.common.capabilities.ICapabilityProvider;
import reborncore.api.power.IEnergyItemInfo;
import reborncore.common.powerSystem.PowerSystem;
import reborncore.common.powerSystem.PoweredItemContainerProvider;
import reborncore.common.powerSystem.forge.ForgePowerItemManager;
import reborncore.common.util.ItemUtils;
import techreborn.config.ConfigTechReborn;
import techreborn.init.TRContent;
import javax.annotation.Nullable;
public class ItemLapotronicOrbpack extends ItemArmor implements IEnergyItemInfo {
@ -53,28 +52,25 @@ public class ItemLapotronicOrbpack extends ItemArmor implements IEnergyItemInfo
public int transferLimit = 100_000;
public ItemLapotronicOrbpack() {
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setMaxStackSize(1);
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST, (new Item.Builder()).group(ItemGroup.COMBAT));
//TODO: move to builder
//setMaxStackSize(1);
}
// Item
@OnlyIn(Dist.CLIENT)
@Override
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
if (!isInCreativeTab(par2CreativeTabs)) {
return;
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
if (this.isInGroup(group)) {
items.add(new ItemStack(this));
}
ItemStack uncharged = new ItemStack(TRContent.LAPOTRONIC_ORBPACK);
ItemStack charged = new ItemStack(TRContent.LAPOTRONIC_ORBPACK);
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
itemList.add(uncharged);
itemList.add(charged);
}
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
ItemLithiumIonBatpack.distributePowerToInventory(world, player, itemStack, (int) transferLimit);
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
if (entityIn instanceof EntityPlayer) {
ItemLithiumIonBatpack.distributePowerToInventory(worldIn, (EntityPlayer) entityIn, stack,
(int) transferLimit);
}
}
@Override

View file

@ -24,11 +24,13 @@
package techreborn.items.armor;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.NonNullList;
@ -54,8 +56,9 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
public int transferLimit = 2_000;
public ItemLithiumIonBatpack() {
super(ItemArmor.ArmorMaterial.DIAMOND, 7, EntityEquipmentSlot.CHEST);
setMaxStackSize(1);
super(ArmorMaterial.DIAMOND, EntityEquipmentSlot.CHEST, (new Item.Builder()).group(ItemGroup.COMBAT));
//TODO: move to builder
//setMaxStackSize(1);
}
public static void distributePowerToInventory(World world, EntityPlayer player, ItemStack itemStack, int maxSend) {
@ -74,8 +77,10 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
// Item
@Override
public void onArmorTick(World world, EntityPlayer player, ItemStack itemStack) {
distributePowerToInventory(world, player, itemStack, (int) transferLimit);
public void inventoryTick(ItemStack stack, World worldIn, Entity entityIn, int itemSlot, boolean isSelected) {
if (entityIn instanceof EntityPlayer) {
distributePowerToInventory(worldIn, (EntityPlayer) entityIn, stack, (int) transferLimit);
}
}
@Override
@ -95,9 +100,7 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
@Override
@Nullable
public ICapabilityProvider initCapabilities(ItemStack stack,
@Nullable
NBTTagCompound nbt) {
public ICapabilityProvider initCapabilities(ItemStack stack, @Nullable NBTTagCompound nbt) {
return new PoweredItemContainerProvider(stack);
}
@ -109,16 +112,16 @@ public class ItemLithiumIonBatpack extends ItemArmor implements IEnergyItemInfo
@OnlyIn(Dist.CLIENT)
@Override
public void getSubItems(CreativeTabs par2CreativeTabs, NonNullList<ItemStack> itemList) {
if (!isInCreativeTab(par2CreativeTabs)) {
public void fillItemGroup(ItemGroup group, NonNullList<ItemStack> items) {
if (!isInGroup(group)) {
return;
}
ItemStack uncharged = new ItemStack(TRContent.LITHIUM_ION_BATTERY);
ItemStack charged = new ItemStack(TRContent.LITHIUM_ION_BATTERY);
ForgePowerItemManager capEnergy = new ForgePowerItemManager(charged);
capEnergy.setEnergyStored(capEnergy.getMaxEnergyStored());
itemList.add(uncharged);
// itemList.add(charged);
items.add(uncharged);
items.add(charged);
}
// IEnergyItemInfo

View file

@ -25,7 +25,10 @@
package techreborn.items.armor;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.Item;
import net.minecraft.item.ItemArmor;
import net.minecraft.item.ItemGroup;
import net.minecraft.item.ItemStack;
import reborncore.common.util.ItemUtils;
import techreborn.events.TRRecipeHandler;
@ -42,23 +45,23 @@ public class ItemTRArmour extends ItemArmor {
}
public ItemTRArmour(ArmorMaterial material, EntityEquipmentSlot slot, String repairOreDict) {
super(material, material.getDamageReductionAmount(slot), slot);
super(material, slot, (new Item.Builder()).group(ItemGroup.COMBAT));
this.repairOreDict = repairOreDict;
if (slot == EntityEquipmentSlot.HEAD)
setTranslationKey(material.name().toLowerCase() + "Helmet");
//setTranslationKey(material.name().toLowerCase() + "Helmet");
if (slot == EntityEquipmentSlot.CHEST)
setTranslationKey(material.name().toLowerCase() + "Chestplate");
//setTranslationKey(material.name().toLowerCase() + "Chestplate");
if (slot == EntityEquipmentSlot.LEGS)
setTranslationKey(material.name().toLowerCase() + "Leggings");
//setTranslationKey(material.name().toLowerCase() + "Leggings");
if (slot == EntityEquipmentSlot.FEET)
setTranslationKey(material.name().toLowerCase() + "Boots");
//setTranslationKey(material.name().toLowerCase() + "Boots");
TRRecipeHandler.hideEntry(this);
}
@Override
public boolean getIsRepairable(ItemStack toRepair, ItemStack repair) {
if (toRepair.getItem() == this && !repairOreDict.isEmpty()) {
return ItemUtils.isInputEqual(repairOreDict, repair, false, false, true);
return ItemUtils.isInputEqual(repairOreDict, repair, false, true);
}
return super.getIsRepairable(toRepair, repair);
}