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: net.minecrell.gradle.licenser.Licenser
apply plugin: 'de.undercouch.download' apply plugin: 'de.undercouch.download'
apply plugin: 'idea' apply plugin: 'idea'
apply plugin: 'eclipse'
//apply plugin: 'net.covers1624.contained-deps' //apply plugin: 'net.covers1624.contained-deps'
sourceCompatibility = 1.8 sourceCompatibility = 1.8

View file

@ -26,24 +26,17 @@ package techreborn;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.BlockDispenser; import net.minecraft.block.BlockDispenser;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.Item; import net.minecraft.item.Item;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation; import net.minecraft.util.ResourceLocation;
import net.minecraft.world.gen.structure.MapGenStructureIO;
import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.eventbus.api.SubscribeEvent; import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidRegistry;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.*; 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.GameRegistry;
import net.minecraftforge.fml.common.registry.VillagerRegistry; import net.minecraftforge.fml.common.registry.VillagerRegistry;
import net.minecraftforge.fml.relauncher.Side;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import reborncore.RebornCore; import reborncore.RebornCore;
@ -75,7 +68,7 @@ import techreborn.world.village.VillagePlantaionHandler;
import java.io.File; 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 class TechReborn {
public static final String MOD_ID = "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 String GUI_FACTORY_CLASS = "techreborn.config.TechRebornGUIFactory";
public static final Logger LOGGER = LogManager.getLogger(MOD_ID); 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; public static CommonProxy proxy;
@Mod.Instance // @Mod.Instance
public static TechReborn INSTANCE; public static TechReborn INSTANCE;
public static TechRebornWorldGen worldGen; public static TechRebornWorldGen worldGen;
public static File configDir; public static File configDir;
public static final CreativeTabs TAB = new CreativeTabs(MOD_ID) { // public static final CreativeTabs TAB = new CreativeTabs(MOD_ID) {
@Override // @Override
public ItemStack createIcon() { // public ItemStack createIcon() {
return TRContent.Parts.MACHINE_PARTS.getStack(); // return TRContent.Parts.MACHINE_PARTS.getStack();
} // }
}; // };
public TechReborn() { public TechReborn() {
//Forge says to call it here, so yeah MinecraftForge.EVENT_BUS.register(this);
FluidRegistry.enableUniversalBucket();
} }
@Mod.EventHandler @SubscribeEvent
public void preinit(FMLPreInitializationEvent event) throws IllegalAccessException, InstantiationException { 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 = new TechRebornWorldGen();
worldGen.configFile = (new File(configDir, "ores.json")); worldGen.configFile = (new File(configDir, "ores.json"));
CommonProxy.isChiselAround = Loader.isModLoaded("ctm"); //CommonProxy.isChiselAround = Loader.isModLoaded("ctm");
TechRebornAPI.subItemRetriever = new SubItemRetriever(); TechRebornAPI.subItemRetriever = new SubItemRetriever();
// Registration // Registration
TRTileEntities.init(); TRTileEntities.init();
ModFluids.init(); ModFluids.init();
// Entitys // 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); proxy.preInit(event);
} }
@Mod.EventHandler @SubscribeEvent
public void init(FMLInitializationEvent event) { public void init(FMLInitializationEvent event) {
// Registers Chest Loot // Registers Chest Loot
ModLoot.init(); ModLoot.init();
@ -139,10 +130,10 @@ public class TechReborn {
proxy.init(event); proxy.init(event);
// WorldGen // WorldGen
worldGen.load(); worldGen.load();
GameRegistry.registerWorldGenerator(worldGen, 0); //GameRegistry.registerWorldGenerator(worldGen, 0);
GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0); //GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0);
// Register Gui Handler // Register Gui Handler
NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler()); //NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler());
// Event busses // Event busses
MinecraftForge.EVENT_BUS.register(new StackWIPHandler()); MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
MinecraftForge.EVENT_BUS.register(new BlockBreakHandler()); MinecraftForge.EVENT_BUS.register(new BlockBreakHandler());
@ -154,19 +145,19 @@ public class TechReborn {
//Village stuff //Village stuff
if (ConfigTechReborn.enableRubberTreePlantation) { if (ConfigTechReborn.enableRubberTreePlantation) {
VillagerRegistry.instance().registerVillageCreationHandler(new VillagePlantaionHandler()); 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 ModLootTables.CHESTS_RUBBER_PLANTATION.toString(); //Done to make it load, then it will be read from disk
} }
// Scrapbox // Scrapbox
if (BehaviorDispenseScrapbox.dispenseScrapboxes) { 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); Torus.genSizeMap(TileFusionControlComputer.maxCoilSize);
} }
@Mod.EventHandler @SubscribeEvent
public void postinit(FMLPostInitializationEvent event) { public void postinit(FMLPostInitializationEvent event) {
proxy.postInit(event); proxy.postInit(event);
@ -179,53 +170,53 @@ public class TechReborn {
//todo: remove, gens localization //todo: remove, gens localization
for (Item item : ForgeRegistries.ITEMS.getValues()) { // for (Item item : ForgeRegistries.ITEMS.getValues()) {
if (item.getRegistryName().getNamespace().equals("techreborn")) { // if (item.getRegistryName().getNamespace().equals("techreborn")) {
StringBuilder localName = new StringBuilder(); // StringBuilder localName = new StringBuilder();
String[] words = item.getRegistryName().getPath().split("_|\\."); // String[] words = item.getRegistryName().getPath().split("_|\\.");
for (String word : words) { // for (String word : words) {
if (!word.contains("techreborn")) { // if (!word.contains("techreborn")) {
if (localName.length() > 0) { // if (localName.length() > 0) {
localName.append(" "); // localName.append(" ");
} // }
localName.append(StringUtils.toFirstCapital(word)); // localName.append(StringUtils.toFirstCapital(word));
} // }
} // }
// System.out.println("item.techreborn." + item.getRegistryName().getPath() + ".name=" + localName); // System.out.println("item.techreborn." + item.getRegistryName().getPath() + ".name=" + localName);
} // }
} // }
for (Block item : ForgeRegistries.BLOCKS.getValues()) { // for (Block item : ForgeRegistries.BLOCKS.getValues()) {
if (item.getRegistryName().getNamespace().equals("techreborn")) { // if (item.getRegistryName().getNamespace().equals("techreborn")) {
StringBuilder localName = new StringBuilder(); // StringBuilder localName = new StringBuilder();
String[] words = item.getRegistryName().getPath().split("_|\\."); // String[] words = item.getRegistryName().getPath().split("_|\\.");
for (String word : words) { // for (String word : words) {
if (!word.contains("techreborn")) { // if (!word.contains("techreborn")) {
if (localName.length() > 0) { // if (localName.length() > 0) {
localName.append(" "); // localName.append(" ");
} // }
localName.append(StringUtils.toFirstCapital(word)); // localName.append(StringUtils.toFirstCapital(word));
} // }
} // }
// System.out.println("tile.techreborn." + item.getRegistryName().getPath() + ".name=" + localName); // System.out.println("tile.techreborn." + item.getRegistryName().getPath() + ".name=" + localName);
} // }
} // }
} }
@Mod.EventHandler @SubscribeEvent
public void serverStarting(FMLServerStartingEvent event) { public void serverStarting(FMLServerStartingEvent event) {
event.registerServerCommand(new TechRebornDevCommand()); //event.registerServerCommand(new TechRebornDevCommand());
} }
@SubscribeEvent @SubscribeEvent
public void LoadPackets(RegisterPacketEvent event) { public void LoadPackets(RegisterPacketEvent event) {
event.registerPacket(PacketAesu.class, Side.SERVER); // event.registerPacket(PacketAesu.class, Side.SERVER);
event.registerPacket(PacketIdsu.class, Side.SERVER); // event.registerPacket(PacketIdsu.class, Side.SERVER);
event.registerPacket(PacketRollingMachineLock.class, Side.SERVER); // event.registerPacket(PacketRollingMachineLock.class, Side.SERVER);
event.registerPacket(PacketFusionControlSize.class, Side.SERVER); // event.registerPacket(PacketFusionControlSize.class, Side.SERVER);
event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER); // event.registerPacket(PacketAutoCraftingTableLock.class, Side.SERVER);
} }
@Mod.EventHandler @SubscribeEvent
public void onFingerprintViolation(FMLFingerprintViolationEvent event) { public void onFingerprintViolation(FMLFingerprintViolationEvent event) {
LOGGER.warn("Invalid fingerprint detected for Tech Reborn!"); LOGGER.warn("Invalid fingerprint detected for Tech Reborn!");
RebornCore.proxy.invalidFingerprints.add("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; package techreborn.api;
import net.minecraft.init.SoundEvents; import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item.ToolMaterial; import net.minecraft.item.ArmorMaterial;
import net.minecraft.item.ItemArmor.ArmorMaterial;
import net.minecraft.util.SoundEvent; import net.minecraft.util.SoundEvent;
import net.minecraftforge.common.util.EnumHelper;
/** /**
* This contains some static stuff used in recipes and other things * This contains some static stuff used in recipes and other things
@ -36,21 +34,22 @@ import net.minecraftforge.common.util.EnumHelper;
public class Reference { public class Reference {
private static final Class<?>[] ARMOR_PARAMETERS = { String.class, int.class, int[].class, int.class, SoundEvent.class, float.class }; 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, //TODO: Fixme
2 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F); // public static ArmorMaterial BRONZE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "BRONZE", ARMOR_PARAMETERS, "techreborn:bronze", 17, new int[] { 3, 6, 5,
public static ArmorMaterial RUBY_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "RUBY", ARMOR_PARAMETERS, "techreborn:ruby", 16, new int[] { 2, 7, 5, // 2 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
2 }, 10, 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,
public static ArmorMaterial SAPPHIRE_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "SAPPHIRE", ARMOR_PARAMETERS, "techreborn:sapphire", 19, new int[] { 4, 4, 4, // 2 }, 10, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
4 }, 8, 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,
public static ArmorMaterial PERIDOT_ARMOUR = EnumHelper.addEnum(ArmorMaterial.class, "PERIDOT", ARMOR_PARAMETERS, "techreborn:peridot", 17, new int[] { 3, 8, 3, // 4 }, 8, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
2 }, 16, 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,
public static ArmorMaterial CLOAKING_ARMOR = EnumHelper.addEnum(ArmorMaterial.class, "CLOAKING", ARMOR_PARAMETERS, "techreborn:cloaking", 5, new int[] { 1, 2, 3, // 2 }, 16, SoundEvents.ITEM_ARMOR_EQUIP_IRON, 0F);
1 }, 0, SoundEvents.ITEM_ARMOR_EQUIP_LEATHER, 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 BRONZE = EnumHelper.addToolMaterial("BRONZE", 2, 375, 6.0F, 2.25F, 8);
public static ToolMaterial SAPPHIRE = EnumHelper.addToolMaterial("SAPPHIRE", 2, 620, 5.0F, 2F, 8); // public static ToolMaterial RUBY = EnumHelper.addToolMaterial("RUBY", 2, 320, 6.2F, 2.7F, 10);
public static ToolMaterial PERIDOT = EnumHelper.addToolMaterial("PERIDOT", 2, 400, 7.0F, 2.4F, 16); // 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 ALLOY_SMELTER_RECIPE = "ALLOY_SMELTER_RECIPE";
public static String ASSEMBLING_MACHINE_RECIPE = "ASSEMBLING_MACHINE_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.BLAZE_POWDER));
register(getStack(Items.WHEAT)); register(getStack(Items.WHEAT));
register(getStack(Items.CARROT)); register(getStack(Items.CARROT));
register(getStack(Items.BOAT));
register(getStack(Items.ACACIA_BOAT)); register(getStack(Items.ACACIA_BOAT));
register(getStack(Items.BIRCH_BOAT)); register(getStack(Items.BIRCH_BOAT));
register(getStack(Items.DARK_OAK_BOAT)); register(getStack(Items.DARK_OAK_BOAT));
@ -61,22 +60,33 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Items.LEATHER_LEGGINGS)); register(getStack(Items.LEATHER_LEGGINGS));
register(getStack(Items.BOW)); register(getStack(Items.BOW));
register(getStack(Items.COOKED_CHICKEN)); register(getStack(Items.COOKED_CHICKEN));
register(getStack(Items.CAKE)); // TODO: Migrate
register(getStack(Items.ACACIA_DOOR)); // register(getStack(Items.CAKE));
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));
register(getStack(Items.WOODEN_AXE)); register(getStack(Items.WOODEN_AXE));
register(getStack(Items.WOODEN_HOE)); register(getStack(Items.WOODEN_HOE));
register(getStack(Items.WOODEN_PICKAXE)); register(getStack(Items.WOODEN_PICKAXE));
register(getStack(Items.WOODEN_SHOVEL)); register(getStack(Items.WOODEN_SHOVEL));
register(getStack(Items.WOODEN_SWORD)); register(getStack(Items.WOODEN_SWORD));
register(getStack(Items.BED)); register(getStack(Items.WHITE_BED));
register(getStack(Items.SKULL, 1, 0)); register(getStack(Items.ORANGE_BED));
register(getStack(Items.SKULL, 1, 2)); register(getStack(Items.MAGENTA_BED));
register(getStack(Items.SKULL, 1, 4)); 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++) for (int i = 0; i < StackWIPHandler.devHeads.size(); i++)
register(StackWIPHandler.devHeads.get(i)); register(StackWIPHandler.devHeads.get(i));
register(getStack(Items.GLOWSTONE_DUST)); register(getStack(Items.GLOWSTONE_DUST));
@ -94,7 +104,7 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Items.BOOK)); register(getStack(Items.BOOK));
register(getStack(Items.PAPER)); register(getStack(Items.PAPER));
register(getStack(Items.SUGAR)); register(getStack(Items.SUGAR));
register(getStack(Items.REEDS)); // register(getStack(Items.REEDS));
register(getStack(Items.SPIDER_EYE)); register(getStack(Items.SPIDER_EYE));
register(getStack(Items.SLIME_BALL)); register(getStack(Items.SLIME_BALL));
register(getStack(Items.ROTTEN_FLESH)); register(getStack(Items.ROTTEN_FLESH));
@ -118,9 +128,9 @@ public class ScrapboxRecipes extends RecipeMethods {
// register(getMaterial("sap", Type.PART)); // register(getMaterial("sap", Type.PART));
// register(getMaterial("rubber", Type.PART)); // register(getMaterial("rubber", Type.PART));
register(getStack(Blocks.TRAPDOOR)); // register(getStack(Blocks.TRAPDOOR));
register(getStack(Blocks.STONE_BUTTON)); 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));
register(getStack(Blocks.ACACIA_FENCE_GATE)); register(getStack(Blocks.ACACIA_FENCE_GATE));
register(getStack(Blocks.BIRCH_FENCE)); register(getStack(Blocks.BIRCH_FENCE));
@ -134,7 +144,7 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Blocks.OAK_FENCE_GATE)); register(getStack(Blocks.OAK_FENCE_GATE));
register(getStack(Blocks.SPRUCE_FENCE)); register(getStack(Blocks.SPRUCE_FENCE));
register(getStack(Blocks.SPRUCE_FENCE_GATE)); register(getStack(Blocks.SPRUCE_FENCE_GATE));
register(getStack(Blocks.BRICK_BLOCK)); // register(getStack(Blocks.BRICK_BLOCK));
register(getStack(Blocks.CRAFTING_TABLE)); register(getStack(Blocks.CRAFTING_TABLE));
register(getStack(Blocks.PUMPKIN)); register(getStack(Blocks.PUMPKIN));
register(getStack(Blocks.NETHERRACK)); register(getStack(Blocks.NETHERRACK));
@ -145,45 +155,45 @@ public class ScrapboxRecipes extends RecipeMethods {
register(getStack(Blocks.SAND, 1, 1)); register(getStack(Blocks.SAND, 1, 1));
register(getStack(Blocks.GLOWSTONE)); register(getStack(Blocks.GLOWSTONE));
register(getStack(Blocks.GRAVEL)); register(getStack(Blocks.GRAVEL));
register(getStack(Blocks.HARDENED_CLAY)); // register(getStack(Blocks.HARDENED_CLAY));
register(getStack(Blocks.GLASS)); register(getStack(Blocks.GLASS));
register(getStack(Blocks.GLASS_PANE)); register(getStack(Blocks.GLASS_PANE));
register(getStack(Blocks.CACTUS)); register(getStack(Blocks.CACTUS));
register(getStack(Blocks.TALLGRASS, 1, 0)); // register(getStack(Blocks.TALLGRASS, 1, 0));
register(getStack(Blocks.TALLGRASS, 1, 1)); // register(getStack(Blocks.TALLGRASS, 1, 1));
register(getStack(Blocks.DEADBUSH)); // register(getStack(Blocks.DEADBUSH));
register(getStack(Blocks.CHEST)); register(getStack(Blocks.CHEST));
register(getStack(Blocks.TNT)); register(getStack(Blocks.TNT));
register(getStack(Blocks.RAIL)); register(getStack(Blocks.RAIL));
register(getStack(Blocks.DETECTOR_RAIL)); register(getStack(Blocks.DETECTOR_RAIL));
register(getStack(Blocks.GOLDEN_RAIL)); // register(getStack(Blocks.GOLDEN_RAIL));
register(getStack(Blocks.ACTIVATOR_RAIL)); register(getStack(Blocks.ACTIVATOR_RAIL));
register(getStack(Blocks.YELLOW_FLOWER)); // register(getStack(Blocks.YELLOW_FLOWER));
register(getStack(Blocks.RED_FLOWER, 1, 0)); // register(getStack(Blocks.RED_FLOWER, 1, 0));
register(getStack(Blocks.RED_FLOWER, 1, 1)); // register(getStack(Blocks.RED_FLOWER, 1, 1));
register(getStack(Blocks.RED_FLOWER, 1, 2)); // register(getStack(Blocks.RED_FLOWER, 1, 2));
register(getStack(Blocks.RED_FLOWER, 1, 3)); // register(getStack(Blocks.RED_FLOWER, 1, 3));
register(getStack(Blocks.RED_FLOWER, 1, 4)); // register(getStack(Blocks.RED_FLOWER, 1, 4));
register(getStack(Blocks.RED_FLOWER, 1, 5)); // register(getStack(Blocks.RED_FLOWER, 1, 5));
register(getStack(Blocks.RED_FLOWER, 1, 6)); // register(getStack(Blocks.RED_FLOWER, 1, 6));
register(getStack(Blocks.RED_FLOWER, 1, 7)); // register(getStack(Blocks.RED_FLOWER, 1, 7));
register(getStack(Blocks.RED_FLOWER, 1, 8)); // register(getStack(Blocks.RED_FLOWER, 1, 8));
register(getStack(Blocks.BROWN_MUSHROOM)); register(getStack(Blocks.BROWN_MUSHROOM));
register(getStack(Blocks.RED_MUSHROOM)); register(getStack(Blocks.RED_MUSHROOM));
register(getStack(Blocks.BROWN_MUSHROOM_BLOCK)); register(getStack(Blocks.BROWN_MUSHROOM_BLOCK));
register(getStack(Blocks.RED_MUSHROOM_BLOCK)); register(getStack(Blocks.RED_MUSHROOM_BLOCK));
register(getStack(Blocks.SAPLING, 1, 0)); // register(getStack(Blocks.SAPLING, 1, 0));
register(getStack(Blocks.SAPLING, 1, 1)); // register(getStack(Blocks.SAPLING, 1, 1));
register(getStack(Blocks.SAPLING, 1, 2)); // register(getStack(Blocks.SAPLING, 1, 2));
register(getStack(Blocks.SAPLING, 1, 3)); // register(getStack(Blocks.SAPLING, 1, 3));
register(getStack(Blocks.SAPLING, 1, 4)); // register(getStack(Blocks.SAPLING, 1, 4));
register(getStack(Blocks.SAPLING, 1, 5)); // register(getStack(Blocks.SAPLING, 1, 5));
register(getStack(Blocks.LEAVES, 1, 0)); // register(getStack(Blocks.LEAVES, 1, 0));
register(getStack(Blocks.LEAVES, 1, 1)); // register(getStack(Blocks.LEAVES, 1, 1));
register(getStack(Blocks.LEAVES, 1, 2)); // register(getStack(Blocks.LEAVES, 1, 2));
register(getStack(Blocks.LEAVES, 1, 3)); // register(getStack(Blocks.LEAVES, 1, 3));
register(getStack(Blocks.LEAVES2, 1, 0)); // register(getStack(Blocks.LEAVES2, 1, 0));
register(getStack(Blocks.LEAVES2, 1, 1)); // register(getStack(Blocks.LEAVES2, 1, 1));
register(getStack(TRContent.RUBBER_SAPLING)); register(getStack(TRContent.RUBBER_SAPLING));
@ -199,12 +209,12 @@ public class ScrapboxRecipes extends RecipeMethods {
// register(ItemGems.getGemByName(i)); // register(ItemGems.getGemByName(i));
// } // }
registerDyable(Items.DYE); // registerDyable(Items.DYE);
registerDyable(Blocks.WOOL); // registerDyable(Blocks.WOOL);
registerDyable(Blocks.CARPET); // registerDyable(Blocks.CARPET);
registerDyable(Blocks.STAINED_GLASS); // registerDyable(Blocks.STAINED_GLASS);
registerDyable(Blocks.STAINED_GLASS_PANE); // registerDyable(Blocks.STAINED_GLASS_PANE);
registerDyable(Blocks.STAINED_HARDENED_CLAY); // registerDyable(Blocks.STAINED_HARDENED_CLAY);
} }
static void register(ItemStack output) { static void register(ItemStack output) {
@ -220,6 +230,6 @@ public class ScrapboxRecipes extends RecipeMethods {
} }
static void registerDyable(Block block) { static void registerDyable(Block block) {
registerDyable(Item.getItemFromBlock(block)); //registerDyable(Item.getItemFromBlock(block));
} }
} }

View file

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

View file

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

View file

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

View file

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