mirror of
https://github.com/Ellpeck/ActuallyAdditions.git
synced 2024-11-26 00:38:35 +01:00
this is completely broken but maybe someone will fix it soon
This commit is contained in:
parent
38168423e7
commit
a40abe88af
16 changed files with 148 additions and 136 deletions
|
@ -23,7 +23,7 @@ if(hasProperty('buildnumber')){
|
||||||
}
|
}
|
||||||
|
|
||||||
minecraft {
|
minecraft {
|
||||||
version = "1.12-14.21.0.2331"
|
version = "1.12-14.21.1.2387"
|
||||||
runDir = "idea"
|
runDir = "idea"
|
||||||
|
|
||||||
mappings = "snapshot_20161220"
|
mappings = "snapshot_20161220"
|
||||||
|
@ -48,7 +48,7 @@ repositories {
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
compile "net.darkhax.tesla:Tesla-1.12:1.0.59"
|
compile "net.darkhax.tesla:Tesla-1.12:1.0.59"
|
||||||
deobfCompile "mezz.jei:jei_1.12:4.6.0.61"
|
deobfCompile "mezz.jei:jei_1.12:4.7.0.68"
|
||||||
deobfCompile "org.cyclops.commoncapabilities:CommonCapabilities:1.11.2-1.3.3-115"
|
deobfCompile "org.cyclops.commoncapabilities:CommonCapabilities:1.11.2-1.3.3-115"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,6 @@
|
||||||
package de.ellpeck.actuallyadditions.mod;
|
package de.ellpeck.actuallyadditions.mod;
|
||||||
|
|
||||||
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
import de.ellpeck.actuallyadditions.api.ActuallyAdditionsAPI;
|
||||||
import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
|
|
||||||
import de.ellpeck.actuallyadditions.mod.booklet.InitBooklet;
|
import de.ellpeck.actuallyadditions.mod.booklet.InitBooklet;
|
||||||
import de.ellpeck.actuallyadditions.mod.config.ConfigurationHandler;
|
import de.ellpeck.actuallyadditions.mod.config.ConfigurationHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.crafting.CrusherCrafting;
|
import de.ellpeck.actuallyadditions.mod.crafting.CrusherCrafting;
|
||||||
|
@ -21,9 +20,7 @@ import de.ellpeck.actuallyadditions.mod.entity.InitEntities;
|
||||||
import de.ellpeck.actuallyadditions.mod.event.CommonEvents;
|
import de.ellpeck.actuallyadditions.mod.event.CommonEvents;
|
||||||
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
|
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
|
||||||
import de.ellpeck.actuallyadditions.mod.gen.OreGen;
|
import de.ellpeck.actuallyadditions.mod.gen.OreGen;
|
||||||
import de.ellpeck.actuallyadditions.mod.gen.village.InitVillager;
|
|
||||||
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
|
import de.ellpeck.actuallyadditions.mod.inventory.GuiHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
|
||||||
import de.ellpeck.actuallyadditions.mod.items.ItemCoffee;
|
import de.ellpeck.actuallyadditions.mod.items.ItemCoffee;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.lens.LensMining;
|
import de.ellpeck.actuallyadditions.mod.items.lens.LensMining;
|
||||||
import de.ellpeck.actuallyadditions.mod.items.lens.LensRecipeHandler;
|
import de.ellpeck.actuallyadditions.mod.items.lens.LensRecipeHandler;
|
||||||
|
@ -43,11 +40,11 @@ import de.ellpeck.actuallyadditions.mod.recipe.HairyBallHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.recipe.TreasureChestHandler;
|
import de.ellpeck.actuallyadditions.mod.recipe.TreasureChestHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase;
|
import de.ellpeck.actuallyadditions.mod.tile.TileEntityBase;
|
||||||
import de.ellpeck.actuallyadditions.mod.update.UpdateChecker;
|
import de.ellpeck.actuallyadditions.mod.update.UpdateChecker;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.ItemUtil;
|
|
||||||
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil;
|
import de.ellpeck.actuallyadditions.mod.util.compat.CompatUtil;
|
||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.fluids.FluidRegistry;
|
import net.minecraftforge.fluids.FluidRegistry;
|
||||||
import net.minecraftforge.fml.common.FMLCommonHandler;
|
import net.minecraftforge.fml.common.FMLCommonHandler;
|
||||||
import net.minecraftforge.fml.common.Loader;
|
import net.minecraftforge.fml.common.Loader;
|
||||||
|
@ -86,18 +83,13 @@ public class ActuallyAdditions{
|
||||||
teslaLoaded = Loader.isModLoaded("tesla");
|
teslaLoaded = Loader.isModLoaded("tesla");
|
||||||
commonCapsLoaded = Loader.isModLoaded("commoncapabilities");
|
commonCapsLoaded = Loader.isModLoaded("commoncapabilities");
|
||||||
|
|
||||||
|
MinecraftForge.EVENT_BUS.register(new RegistryHandler());
|
||||||
|
|
||||||
new ConfigurationHandler(event.getSuggestedConfigurationFile());
|
new ConfigurationHandler(event.getSuggestedConfigurationFile());
|
||||||
PacketHandler.init();
|
PacketHandler.init();
|
||||||
InitToolMaterials.init();
|
InitToolMaterials.init();
|
||||||
InitArmorMaterials.init();
|
InitArmorMaterials.init();
|
||||||
InitBlocks.init();
|
|
||||||
InitFluids.init();
|
InitFluids.init();
|
||||||
InitItems.init();
|
|
||||||
FuelHandler.init();
|
|
||||||
BannerHelper.init();
|
|
||||||
SoundHandler.init();
|
|
||||||
InitOreDict.init();
|
|
||||||
InitCrafting.init();
|
|
||||||
new UpdateChecker();
|
new UpdateChecker();
|
||||||
proxy.preInit(event);
|
proxy.preInit(event);
|
||||||
|
|
||||||
|
@ -108,6 +100,8 @@ public class ActuallyAdditions{
|
||||||
public void init(FMLInitializationEvent event){
|
public void init(FMLInitializationEvent event){
|
||||||
ModUtil.LOGGER.info("Starting Initialization Phase...");
|
ModUtil.LOGGER.info("Starting Initialization Phase...");
|
||||||
|
|
||||||
|
BannerHelper.init();
|
||||||
|
FuelHandler.init();
|
||||||
//InitAchievements.init();
|
//InitAchievements.init();
|
||||||
GuiHandler.init();
|
GuiHandler.init();
|
||||||
new OreGen();
|
new OreGen();
|
||||||
|
@ -125,7 +119,6 @@ public class ActuallyAdditions{
|
||||||
public void postInit(FMLPostInitializationEvent event){
|
public void postInit(FMLPostInitializationEvent event){
|
||||||
ModUtil.LOGGER.info("Starting PostInitialization Phase...");
|
ModUtil.LOGGER.info("Starting PostInitialization Phase...");
|
||||||
|
|
||||||
InitVillager.init();
|
|
||||||
ItemCoffee.initIngredients();
|
ItemCoffee.initIngredients();
|
||||||
CrusherCrafting.init();
|
CrusherCrafting.init();
|
||||||
HairyBallHandler.init();
|
HairyBallHandler.init();
|
||||||
|
@ -155,22 +148,4 @@ public class ActuallyAdditions{
|
||||||
public void serverStopped(FMLServerStoppedEvent event){
|
public void serverStopped(FMLServerStoppedEvent event){
|
||||||
WorldData.clear();
|
WorldData.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
|
||||||
public void missingMapping(FMLMissingMappingsEvent event){
|
|
||||||
int totalRemaps = 0;
|
|
||||||
int workedRemaps = 0;
|
|
||||||
|
|
||||||
for(FMLMissingMappingsEvent.MissingMapping mapping : event.getAll()){
|
|
||||||
totalRemaps++;
|
|
||||||
|
|
||||||
if(ItemUtil.remapName(mapping)){
|
|
||||||
workedRemaps++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if(totalRemaps > 0){
|
|
||||||
ModUtil.LOGGER.info("Successfully remapped "+workedRemaps+" out of "+totalRemaps+" blocks and items to match the 1.11 naming conventions.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
package de.ellpeck.actuallyadditions.mod;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.fluids.InitFluids;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.util.FluidStateMapper;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.client.event.ModelRegistryEvent;
|
||||||
|
import net.minecraftforge.client.model.ModelLoader;
|
||||||
|
import net.minecraftforge.fluids.Fluid;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class ClientRegistryHandler{
|
||||||
|
|
||||||
|
public static final Map<ItemStack, ModelResourceLocation> MODEL_LOCATIONS_FOR_REGISTERING = new HashMap<ItemStack, ModelResourceLocation>();
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onModelRegistry(ModelRegistryEvent event){
|
||||||
|
for(Map.Entry<ItemStack, ModelResourceLocation> entry : MODEL_LOCATIONS_FOR_REGISTERING.entrySet()){
|
||||||
|
ModelLoader.setCustomModelResourceLocation(entry.getKey().getItem(), entry.getKey().getItemDamage(), entry.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
registerCustomFluidBlockRenderer(InitFluids.fluidCanolaOil);
|
||||||
|
registerCustomFluidBlockRenderer(InitFluids.fluidOil);
|
||||||
|
registerCustomFluidBlockRenderer(InitFluids.fluidCrystalOil);
|
||||||
|
registerCustomFluidBlockRenderer(InitFluids.fluidEmpoweredOil);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* (Excerpted from Tinkers' Construct with permission, thanks guys!)
|
||||||
|
*/
|
||||||
|
private static void registerCustomFluidBlockRenderer(Fluid fluid){
|
||||||
|
Block block = fluid.getBlock();
|
||||||
|
Item item = Item.getItemFromBlock(block);
|
||||||
|
FluidStateMapper mapper = new FluidStateMapper(fluid);
|
||||||
|
ModelLoader.registerItemVariants(item);
|
||||||
|
ModelLoader.setCustomMeshDefinition(item, mapper);
|
||||||
|
ModelLoader.setCustomStateMapper(block, mapper);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
package de.ellpeck.actuallyadditions.mod;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.blocks.InitBlocks;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.crafting.InitCrafting;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.gen.village.InitVillager;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.items.InitItems;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.misc.SoundHandler;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.ore.InitOreDict;
|
||||||
|
import net.minecraft.block.Block;
|
||||||
|
import net.minecraft.item.Item;
|
||||||
|
import net.minecraft.item.crafting.IRecipe;
|
||||||
|
import net.minecraft.util.SoundEvent;
|
||||||
|
import net.minecraftforge.event.RegistryEvent.Register;
|
||||||
|
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||||
|
import net.minecraftforge.fml.common.registry.VillagerRegistry.VillagerProfession;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
//Class to wrap around the trainwreck that is the new registry system
|
||||||
|
public class RegistryHandler{
|
||||||
|
|
||||||
|
public static final List<Block> BLOCKS_TO_REGISTER = new ArrayList<>();
|
||||||
|
public static final List<Item> ITEMS_TO_REGISTER = new ArrayList<>();
|
||||||
|
public static final List<SoundEvent> SOUNDS_TO_REGISTER = new ArrayList<>();
|
||||||
|
public static final List<IRecipe> RECIPES_TO_REGISTER = new ArrayList<>();
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onBlockRegistry(Register<Block> event){
|
||||||
|
InitBlocks.init();
|
||||||
|
|
||||||
|
for(Block block : BLOCKS_TO_REGISTER){
|
||||||
|
event.getRegistry().register(block);
|
||||||
|
}
|
||||||
|
BLOCKS_TO_REGISTER.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onItemRegistry(Register<Item> event){
|
||||||
|
InitItems.init();
|
||||||
|
|
||||||
|
for(Item item : ITEMS_TO_REGISTER){
|
||||||
|
event.getRegistry().register(item);
|
||||||
|
}
|
||||||
|
ITEMS_TO_REGISTER.clear();
|
||||||
|
|
||||||
|
//Hack to make this register before recipes :>
|
||||||
|
InitOreDict.init();
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onVillagerRegistry(Register<VillagerProfession> event){
|
||||||
|
InitVillager.init();
|
||||||
|
|
||||||
|
event.getRegistry().register(InitVillager.jamProfession);
|
||||||
|
event.getRegistry().register(InitVillager.engineerProfession);
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onCraftingRegistry(Register<IRecipe> event){
|
||||||
|
InitCrafting.init();
|
||||||
|
|
||||||
|
for(IRecipe recipe : RECIPES_TO_REGISTER){
|
||||||
|
event.getRegistry().register(recipe);
|
||||||
|
}
|
||||||
|
RECIPES_TO_REGISTER.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
@SubscribeEvent
|
||||||
|
public void onSoundRegistry(Register<SoundEvent> event){
|
||||||
|
SoundHandler.init();
|
||||||
|
|
||||||
|
for(SoundEvent sound : SOUNDS_TO_REGISTER){
|
||||||
|
event.getRegistry().register(sound);
|
||||||
|
}
|
||||||
|
SOUNDS_TO_REGISTER.clear();
|
||||||
|
}
|
||||||
|
}
|
|
@ -191,16 +191,8 @@ public abstract class BlockContainerBase extends BlockContainer implements ItemB
|
||||||
|
|
||||||
protected boolean tryUseItemOnTank(EntityPlayer player, EnumHand hand, FluidTank tank){
|
protected boolean tryUseItemOnTank(EntityPlayer player, EnumHand hand, FluidTank tank){
|
||||||
ItemStack heldItem = player.getHeldItem(hand);
|
ItemStack heldItem = player.getHeldItem(hand);
|
||||||
|
return StackUtil.isValid(heldItem) && FluidUtil.interactWithFluidHandler(player, hand, tank);
|
||||||
|
|
||||||
if(StackUtil.isValid(heldItem)){
|
|
||||||
FluidActionResult result = FluidUtil.interactWithFluidHandler(heldItem, tank, player);
|
|
||||||
if(result.isSuccess()){
|
|
||||||
player.setHeldItem(hand, result.getResult());
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -33,18 +33,8 @@ public class GuiFactory implements IModGuiFactory{
|
||||||
return new GuiConfiguration(parentScreen);
|
return new GuiConfiguration(parentScreen);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public Class<? extends GuiScreen> mainConfigGuiClass(){
|
|
||||||
return GuiConfiguration.class;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories(){
|
public Set<RuntimeOptionCategoryElement> runtimeGuiCategories(){
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public RuntimeOptionGuiHandler getHandlerFor(RuntimeOptionCategoryElement element){
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,6 @@ public final class BlockCrafting{
|
||||||
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidPlacer), new ItemStack(InitBlocks.blockFluidPlacer));
|
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidPlacer), new ItemStack(InitBlocks.blockFluidPlacer));
|
||||||
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidCollector), new ItemStack(InitBlocks.blockFluidCollector));
|
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockFluidCollector), new ItemStack(InitBlocks.blockFluidCollector));
|
||||||
|
|
||||||
|
|
||||||
//Battery Box
|
//Battery Box
|
||||||
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockBatteryBox),
|
RecipeHandler.addShapelessOreDictRecipe(new ItemStack(InitBlocks.blockBatteryBox),
|
||||||
new ItemStack(InitBlocks.blockEnergizer),
|
new ItemStack(InitBlocks.blockEnergizer),
|
||||||
|
|
|
@ -24,7 +24,7 @@ import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
|
import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
|
|
||||||
public class RecipeBioMash extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe{
|
public class RecipeBioMash extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe{
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@ import net.minecraft.util.NonNullList;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeHooks;
|
import net.minecraftforge.common.ForgeHooks;
|
||||||
import net.minecraftforge.fml.common.registry.IForgeRegistryEntry;
|
import net.minecraftforge.registries.IForgeRegistryEntry;
|
||||||
|
|
||||||
public class RecipePotionRingCharging extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe{
|
public class RecipePotionRingCharging extends IForgeRegistryEntry.Impl<IRecipe> implements IRecipe{
|
||||||
|
|
||||||
|
|
|
@ -55,7 +55,6 @@ public final class InitVillager{
|
||||||
MapGenStructureIO.registerStructureComponent(VillageComponentEngineerHouse.class, ModUtil.MOD_ID+":engineerHouseStructure");
|
MapGenStructureIO.registerStructureComponent(VillageComponentEngineerHouse.class, ModUtil.MOD_ID+":engineerHouseStructure");
|
||||||
|
|
||||||
engineerProfession = new VillagerProfession(ModUtil.MOD_ID+":engineer", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager.png", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager_zombie.png");
|
engineerProfession = new VillagerProfession(ModUtil.MOD_ID+":engineer", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager.png", ModUtil.MOD_ID+":textures/entity/villager/engineer_villager_zombie.png");
|
||||||
VillagerRegistry.instance().register(engineerProfession);
|
|
||||||
|
|
||||||
VillagerCareer crystallizer = new VillagerCareer(engineerProfession, ModUtil.MOD_ID+".crystallizer");
|
VillagerCareer crystallizer = new VillagerCareer(engineerProfession, ModUtil.MOD_ID+".crystallizer");
|
||||||
crystallizer.addTrade(1,
|
crystallizer.addTrade(1,
|
||||||
|
@ -94,7 +93,6 @@ public final class InitVillager{
|
||||||
|
|
||||||
private static void initJamVillagePart(){
|
private static void initJamVillagePart(){
|
||||||
jamProfession = new VillagerProfession(ModUtil.MOD_ID+":jamGuy", ModUtil.MOD_ID+":textures/entity/villager/jam_villager.png", ModUtil.MOD_ID+":textures/entity/villager/jam_villager_zombie.png");
|
jamProfession = new VillagerProfession(ModUtil.MOD_ID+":jamGuy", ModUtil.MOD_ID+":textures/entity/villager/jam_villager.png", ModUtil.MOD_ID+":textures/entity/villager/jam_villager_zombie.png");
|
||||||
VillagerRegistry.instance().register(jamProfession);
|
|
||||||
|
|
||||||
VillagerCareer career = new VillagerCareer(jamProfession, ModUtil.MOD_ID+".jammer");
|
VillagerCareer career = new VillagerCareer(jamProfession, ModUtil.MOD_ID+".jammer");
|
||||||
career.addTrade(1,
|
career.addTrade(1,
|
||||||
|
|
|
@ -35,7 +35,7 @@ public class ItemFertilizer extends ItemBase{
|
||||||
@Override
|
@Override
|
||||||
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float par8, float par9, float par10){
|
public EnumActionResult onItemUse(EntityPlayer player, World world, BlockPos pos, EnumHand hand, EnumFacing side, float par8, float par9, float par10){
|
||||||
ItemStack stack = player.getHeldItem(hand);
|
ItemStack stack = player.getHeldItem(hand);
|
||||||
if(ItemDye.applyBonemeal(stack, world, pos, player)){
|
if(ItemDye.applyBonemeal(stack, world, pos, player, hand)){
|
||||||
if(!world.isRemote){
|
if(!world.isRemote){
|
||||||
world.playEvent(2005, pos, 0);
|
world.playEvent(2005, pos, 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
|
|
||||||
package de.ellpeck.actuallyadditions.mod.misc;
|
package de.ellpeck.actuallyadditions.mod.misc;
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.RegistryHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
import de.ellpeck.actuallyadditions.mod.util.ModUtil;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraft.util.SoundEvent;
|
import net.minecraft.util.SoundEvent;
|
||||||
|
@ -21,11 +22,7 @@ public final class SoundHandler{
|
||||||
public static SoundEvent reconstructor;
|
public static SoundEvent reconstructor;
|
||||||
public static SoundEvent crusher;
|
public static SoundEvent crusher;
|
||||||
|
|
||||||
private static int size = 0;
|
|
||||||
|
|
||||||
public static void init(){
|
public static void init(){
|
||||||
size = SoundEvent.REGISTRY.getKeys().size();
|
|
||||||
|
|
||||||
duhDuhDuhDuuuh = registerSound("duh_duh_duh_duuuh");
|
duhDuhDuhDuuuh = registerSound("duh_duh_duh_duuuh");
|
||||||
coffeeMachine = registerSound("coffee_machine");
|
coffeeMachine = registerSound("coffee_machine");
|
||||||
reconstructor = registerSound("reconstructor");
|
reconstructor = registerSound("reconstructor");
|
||||||
|
@ -36,9 +33,8 @@ public final class SoundHandler{
|
||||||
ResourceLocation resLoc = new ResourceLocation(ModUtil.MOD_ID, name);
|
ResourceLocation resLoc = new ResourceLocation(ModUtil.MOD_ID, name);
|
||||||
|
|
||||||
SoundEvent event = new SoundEvent(resLoc);
|
SoundEvent event = new SoundEvent(resLoc);
|
||||||
SoundEvent.REGISTRY.register(size, resLoc, event);
|
event.setRegistryName(resLoc);
|
||||||
|
RegistryHandler.SOUNDS_TO_REGISTER.add(event);
|
||||||
size++;
|
|
||||||
return event;
|
return event;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
package de.ellpeck.actuallyadditions.mod.proxy;
|
package de.ellpeck.actuallyadditions.mod.proxy;
|
||||||
|
|
||||||
|
|
||||||
|
import de.ellpeck.actuallyadditions.mod.ClientRegistryHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.blocks.render.*;
|
import de.ellpeck.actuallyadditions.mod.blocks.render.*;
|
||||||
import de.ellpeck.actuallyadditions.mod.entity.InitEntities;
|
import de.ellpeck.actuallyadditions.mod.entity.InitEntities;
|
||||||
import de.ellpeck.actuallyadditions.mod.event.ClientEvents;
|
import de.ellpeck.actuallyadditions.mod.event.ClientEvents;
|
||||||
|
@ -30,6 +31,7 @@ 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.minecraftforge.client.model.ModelLoader;
|
import net.minecraftforge.client.model.ModelLoader;
|
||||||
|
import net.minecraftforge.common.MinecraftForge;
|
||||||
import net.minecraftforge.fluids.Fluid;
|
import net.minecraftforge.fluids.Fluid;
|
||||||
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
import net.minecraftforge.fml.client.registry.ClientRegistry;
|
||||||
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
|
||||||
|
@ -37,44 +39,22 @@ import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
|
||||||
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
public class ClientProxy implements IProxy{
|
public class ClientProxy implements IProxy{
|
||||||
|
|
||||||
private static final List<Item> COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING = new ArrayList<Item>();
|
private static final List<Item> COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING = new ArrayList<Item>();
|
||||||
private static final List<Block> COLOR_PRODIVIDING_BLOCKS_FOR_REGISTERING = new ArrayList<Block>();
|
private static final List<Block> COLOR_PRODIVIDING_BLOCKS_FOR_REGISTERING = new ArrayList<Block>();
|
||||||
private static final Map<ItemStack, ModelResourceLocation> MODEL_LOCATIONS_FOR_REGISTERING = new HashMap<ItemStack, ModelResourceLocation>();
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void preInit(FMLPreInitializationEvent event){
|
public void preInit(FMLPreInitializationEvent event){
|
||||||
ModUtil.LOGGER.info("PreInitializing ClientProxy...");
|
ModUtil.LOGGER.info("PreInitializing ClientProxy...");
|
||||||
|
|
||||||
for(Map.Entry<ItemStack, ModelResourceLocation> entry : MODEL_LOCATIONS_FOR_REGISTERING.entrySet()){
|
MinecraftForge.EVENT_BUS.register(new ClientRegistryHandler());
|
||||||
ModelLoader.setCustomModelResourceLocation(entry.getKey().getItem(), entry.getKey().getItemDamage(), entry.getValue());
|
|
||||||
}
|
|
||||||
|
|
||||||
this.registerCustomFluidBlockRenderer(InitFluids.fluidCanolaOil);
|
|
||||||
this.registerCustomFluidBlockRenderer(InitFluids.fluidOil);
|
|
||||||
this.registerCustomFluidBlockRenderer(InitFluids.fluidCrystalOil);
|
|
||||||
this.registerCustomFluidBlockRenderer(InitFluids.fluidEmpoweredOil);
|
|
||||||
|
|
||||||
InitEntities.initClient();
|
InitEntities.initClient();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* (Excerpted from Tinkers' Construct with permission, thanks guys!)
|
|
||||||
*/
|
|
||||||
private void registerCustomFluidBlockRenderer(Fluid fluid){
|
|
||||||
Block block = fluid.getBlock();
|
|
||||||
Item item = Item.getItemFromBlock(block);
|
|
||||||
FluidStateMapper mapper = new FluidStateMapper(fluid);
|
|
||||||
ModelLoader.registerItemVariants(item);
|
|
||||||
ModelLoader.setCustomMeshDefinition(item, mapper);
|
|
||||||
ModelLoader.setCustomStateMapper(block, mapper);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init(FMLInitializationEvent event){
|
public void init(FMLInitializationEvent event){
|
||||||
ModUtil.LOGGER.info("Initializing ClientProxy...");
|
ModUtil.LOGGER.info("Initializing ClientProxy...");
|
||||||
|
@ -96,8 +76,6 @@ public class ClientProxy implements IProxy{
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayItemWhitelist.class, laser);
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayItemWhitelist.class, laser);
|
||||||
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayFluids.class, laser);
|
ClientRegistry.bindTileEntitySpecialRenderer(TileEntityLaserRelayFluids.class, laser);
|
||||||
|
|
||||||
//VillagerRegistry.INSTANCE().registerVillagerSkin(ConfigIntValues.JAM_VILLAGER_ID.getValue(), new ResourceLocation(ModUtil.MOD_ID, "textures/entity/villager/jamVillager.png"));
|
|
||||||
|
|
||||||
for(Item item : COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING){
|
for(Item item : COLOR_PRODIVIDING_ITEMS_FOR_REGISTERING){
|
||||||
if(item instanceof IColorProvidingItem){
|
if(item instanceof IColorProvidingItem){
|
||||||
Minecraft.getMinecraft().getItemColors().registerItemColorHandler(((IColorProvidingItem)item).getItemColor(), item);
|
Minecraft.getMinecraft().getItemColors().registerItemColorHandler(((IColorProvidingItem)item).getItemColor(), item);
|
||||||
|
@ -123,7 +101,7 @@ public class ClientProxy implements IProxy{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRenderRegister(ItemStack stack, ResourceLocation location, String variant){
|
public void addRenderRegister(ItemStack stack, ResourceLocation location, String variant){
|
||||||
MODEL_LOCATIONS_FOR_REGISTERING.put(stack, new ModelResourceLocation(location, variant));
|
ClientRegistryHandler.MODEL_LOCATIONS_FOR_REGISTERING.put(stack, new ModelResourceLocation(location, variant));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -11,6 +11,7 @@
|
||||||
package de.ellpeck.actuallyadditions.mod.util;
|
package de.ellpeck.actuallyadditions.mod.util;
|
||||||
|
|
||||||
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
import de.ellpeck.actuallyadditions.mod.ActuallyAdditions;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.RegistryHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
|
import de.ellpeck.actuallyadditions.mod.blocks.base.ItemBlockBase;
|
||||||
import de.ellpeck.actuallyadditions.mod.creative.CreativeTab;
|
import de.ellpeck.actuallyadditions.mod.creative.CreativeTab;
|
||||||
import de.ellpeck.actuallyadditions.mod.util.compat.IMCHandler;
|
import de.ellpeck.actuallyadditions.mod.util.compat.IMCHandler;
|
||||||
|
@ -23,17 +24,11 @@ import net.minecraft.nbt.NBTTagCompound;
|
||||||
import net.minecraft.nbt.NBTTagList;
|
import net.minecraft.nbt.NBTTagList;
|
||||||
import net.minecraft.util.EnumHand;
|
import net.minecraft.util.EnumHand;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.fml.common.event.FMLMissingMappingsEvent;
|
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
|
||||||
//TODO Remove the whole registry name mapping thing once the 1.11 fading phase is over
|
|
||||||
public final class ItemUtil{
|
public final class ItemUtil{
|
||||||
|
|
||||||
private static final Map<String, String> UNDERSCORELESS_TO_UNDERSCORED_NAMES = new HashMap<String, String>();
|
|
||||||
|
|
||||||
public static Item getItemFromName(String name){
|
public static Item getItemFromName(String name){
|
||||||
ResourceLocation resLoc = new ResourceLocation(name);
|
ResourceLocation resLoc = new ResourceLocation(name);
|
||||||
if(Item.REGISTRY.containsKey(resLoc)){
|
if(Item.REGISTRY.containsKey(resLoc)){
|
||||||
|
@ -46,10 +41,10 @@ public final class ItemUtil{
|
||||||
block.setUnlocalizedName(ModUtil.MOD_ID+"."+name);
|
block.setUnlocalizedName(ModUtil.MOD_ID+"."+name);
|
||||||
|
|
||||||
block.setRegistryName(ModUtil.MOD_ID, name);
|
block.setRegistryName(ModUtil.MOD_ID, name);
|
||||||
GameRegistry.register(block);
|
RegistryHandler.BLOCKS_TO_REGISTER.add(block);
|
||||||
|
|
||||||
itemBlock.setRegistryName(block.getRegistryName());
|
itemBlock.setRegistryName(block.getRegistryName());
|
||||||
GameRegistry.register(itemBlock);
|
RegistryHandler.ITEMS_TO_REGISTER.add(itemBlock);
|
||||||
|
|
||||||
block.setCreativeTab(addTab ? CreativeTab.INSTANCE : null);
|
block.setCreativeTab(addTab ? CreativeTab.INSTANCE : null);
|
||||||
|
|
||||||
|
@ -58,15 +53,13 @@ public final class ItemUtil{
|
||||||
if(block instanceof IColorProvidingBlock){
|
if(block instanceof IColorProvidingBlock){
|
||||||
ActuallyAdditions.proxy.addColoredBlock(block);
|
ActuallyAdditions.proxy.addColoredBlock(block);
|
||||||
}
|
}
|
||||||
|
|
||||||
addUnderscoreNameToMapUnderscorelessName(block.getRegistryName());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerItem(Item item, String name, boolean addTab){
|
public static void registerItem(Item item, String name, boolean addTab){
|
||||||
item.setUnlocalizedName(ModUtil.MOD_ID+"."+name);
|
item.setUnlocalizedName(ModUtil.MOD_ID+"."+name);
|
||||||
|
|
||||||
item.setRegistryName(ModUtil.MOD_ID, name);
|
item.setRegistryName(ModUtil.MOD_ID, name);
|
||||||
GameRegistry.register(item);
|
RegistryHandler.ITEMS_TO_REGISTER.add(item);
|
||||||
|
|
||||||
item.setCreativeTab(addTab ? CreativeTab.INSTANCE : null);
|
item.setCreativeTab(addTab ? CreativeTab.INSTANCE : null);
|
||||||
|
|
||||||
|
@ -75,37 +68,6 @@ public final class ItemUtil{
|
||||||
if(item instanceof IColorProvidingItem){
|
if(item instanceof IColorProvidingItem){
|
||||||
ActuallyAdditions.proxy.addColoredItem(item);
|
ActuallyAdditions.proxy.addColoredItem(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
addUnderscoreNameToMapUnderscorelessName(item.getRegistryName());
|
|
||||||
}
|
|
||||||
|
|
||||||
private static void addUnderscoreNameToMapUnderscorelessName(ResourceLocation name){
|
|
||||||
String underscoreless = name.toString().replaceAll("_", "");
|
|
||||||
UNDERSCORELESS_TO_UNDERSCORED_NAMES.put(underscoreless, name.toString());
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean remapName(FMLMissingMappingsEvent.MissingMapping mapping){
|
|
||||||
if(mapping != null && mapping.name != null){
|
|
||||||
if(mapping.name.toLowerCase(Locale.ROOT).contains("distributor")){
|
|
||||||
mapping.ignore();
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(UNDERSCORELESS_TO_UNDERSCORED_NAMES.containsKey(mapping.name)){
|
|
||||||
String newName = UNDERSCORELESS_TO_UNDERSCORED_NAMES.get(mapping.name);
|
|
||||||
ResourceLocation newResLoc = new ResourceLocation(newName);
|
|
||||||
|
|
||||||
if(Block.REGISTRY.containsKey(newResLoc) && mapping.type == GameRegistry.Type.BLOCK){
|
|
||||||
mapping.remap(Block.REGISTRY.getObject(newResLoc));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
else if(Item.REGISTRY.containsKey(newResLoc) && mapping.type == GameRegistry.Type.ITEM){
|
|
||||||
mapping.remap(Item.REGISTRY.getObject(newResLoc));
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean contains(ItemStack[] array, ItemStack stack, boolean checkWildcard){
|
public static boolean contains(ItemStack[] array, ItemStack stack, boolean checkWildcard){
|
||||||
|
|
|
@ -12,6 +12,6 @@ package de.ellpeck.actuallyadditions.mod.util.crafting;
|
||||||
|
|
||||||
public interface IRecipeGrouped{
|
public interface IRecipeGrouped{
|
||||||
|
|
||||||
public String getRecipeGroup();
|
String getRecipeGroup();
|
||||||
|
|
||||||
}
|
}
|
|
@ -13,6 +13,7 @@ package de.ellpeck.actuallyadditions.mod.util.crafting;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.Maps;
|
import com.google.common.collect.Maps;
|
||||||
import com.google.common.collect.Sets;
|
import com.google.common.collect.Sets;
|
||||||
|
import de.ellpeck.actuallyadditions.mod.RegistryHandler;
|
||||||
import de.ellpeck.actuallyadditions.mod.crafting.RecipeBioMash;
|
import de.ellpeck.actuallyadditions.mod.crafting.RecipeBioMash;
|
||||||
import de.ellpeck.actuallyadditions.mod.crafting.RecipePotionRingCharging;
|
import de.ellpeck.actuallyadditions.mod.crafting.RecipePotionRingCharging;
|
||||||
import net.minecraft.block.Block;
|
import net.minecraft.block.Block;
|
||||||
|
@ -23,7 +24,6 @@ import net.minecraft.item.crafting.*;
|
||||||
import net.minecraft.util.NonNullList;
|
import net.minecraft.util.NonNullList;
|
||||||
import net.minecraft.util.ResourceLocation;
|
import net.minecraft.util.ResourceLocation;
|
||||||
import net.minecraftforge.fml.common.Loader;
|
import net.minecraftforge.fml.common.Loader;
|
||||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
|
||||||
import net.minecraftforge.oredict.OreIngredient;
|
import net.minecraftforge.oredict.OreIngredient;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -132,7 +132,7 @@ public final class RecipeHandler{
|
||||||
}
|
}
|
||||||
|
|
||||||
recipe.setRegistryName(res);
|
recipe.setRegistryName(res);
|
||||||
GameRegistry.register(recipe);
|
RegistryHandler.RECIPES_TO_REGISTER.add(recipe);
|
||||||
lastRecipe = recipe;
|
lastRecipe = recipe;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -176,7 +176,7 @@ public final class RecipeHandler{
|
||||||
return namespace+":"+((IRecipeGrouped)item).getRecipeGroup();
|
return namespace+":"+((IRecipeGrouped)item).getRecipeGroup();
|
||||||
}
|
}
|
||||||
if(item instanceof ItemBlock){
|
if(item instanceof ItemBlock){
|
||||||
Block block = ((ItemBlock)item).block;
|
Block block = ((ItemBlock)item).getBlock();
|
||||||
if(block instanceof IRecipeGrouped){
|
if(block instanceof IRecipeGrouped){
|
||||||
return namespace+":"+((IRecipeGrouped)block).getRecipeGroup();
|
return namespace+":"+((IRecipeGrouped)block).getRecipeGroup();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue