Skip to content

Commit

Permalink
Fix #1901 Custom Backpack Model Registration
Browse files Browse the repository at this point in the history
  • Loading branch information
Nedelosk committed Dec 17, 2017
1 parent b7ae349 commit 2f47114
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 20 deletions.
34 changes: 20 additions & 14 deletions src/main/java/forestry/core/models/ModelManager.java
Expand Up @@ -10,20 +10,14 @@
******************************************************************************/
package forestry.core.models;

import com.google.common.base.Preconditions;

import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import com.google.common.base.Preconditions;
import forestry.api.core.ForestryAPI;
import forestry.api.core.IItemModelRegister;
import forestry.api.core.IModelManager;
import forestry.api.core.IStateMapperRegister;
import forestry.core.blocks.IColoredBlock;
import forestry.core.config.Constants;
import forestry.core.items.IColoredItem;
import forestry.core.utils.ItemStackUtil;
import forestry.core.utils.ModelUtil;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.Minecraft;
Expand All @@ -41,12 +35,24 @@
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.registry.IRegistry;
import net.minecraft.world.IBlockAccess;

import net.minecraftforge.client.event.ModelBakeEvent;
import net.minecraftforge.client.model.ModelLoader;
import net.minecraftforge.common.model.IModelState;

import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import forestry.api.core.ForestryAPI;
import forestry.api.core.IItemModelRegister;
import forestry.api.core.IModelManager;
import forestry.api.core.IStateMapperRegister;
import forestry.core.blocks.IColoredBlock;
import forestry.core.config.Constants;
import forestry.core.items.IColoredItem;
import forestry.core.utils.ItemStackUtil;
import forestry.core.utils.ModelUtil;

@SideOnly(Side.CLIENT)
public class ModelManager implements IModelManager {

Expand All @@ -56,10 +62,10 @@ public class ModelManager implements IModelManager {
private final List<BlockModelEntry> customBlockModels = new ArrayList<>();
private final List<ModelEntry> customModels = new ArrayList<>();
/* ITEM AND BLOCK REGISTERS*/
private final List<IItemModelRegister> itemModelRegisters = new ArrayList<>();
private final List<IStateMapperRegister> stateMapperRegisters = new ArrayList<>();
private final List<IColoredBlock> blockColorList = new ArrayList<>();
private final List<IColoredItem> itemColorList = new ArrayList<>();
private final Set<IItemModelRegister> itemModelRegisters = new HashSet<>();
private final Set<IStateMapperRegister> stateMapperRegisters = new HashSet<>();
private final Set<IColoredBlock> blockColorList = new HashSet<>();
private final Set<IColoredItem> itemColorList = new HashSet<>();
/* DEFAULT ITEM AND BLOCK MODEL STATES*/
private IModelState defaultBlockState;
private IModelState defaultItemState;
Expand Down
19 changes: 13 additions & 6 deletions src/main/java/forestry/storage/BackpackInterface.java
Expand Up @@ -10,24 +10,27 @@
******************************************************************************/
package forestry.storage;

import com.google.common.base.Preconditions;

import javax.annotation.Nullable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.function.Predicate;

import com.google.common.base.Preconditions;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;

import forestry.api.genetics.ISpeciesRoot;
import forestry.api.storage.EnumBackpackType;
import forestry.api.storage.IBackpackDefinition;
import forestry.api.storage.IBackpackFilterConfigurable;
import forestry.api.storage.IBackpackInterface;
import forestry.core.proxy.Proxies;
import forestry.core.utils.ItemStackUtil;
import forestry.storage.items.ItemBackpack;
import forestry.storage.items.ItemBackpackNaturalist;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.NonNullList;

public class BackpackInterface implements IBackpackInterface {

Expand Down Expand Up @@ -77,7 +80,9 @@ public Item createBackpack(String backpackUid, EnumBackpackType type) {
if (definition == null) {
throw new IllegalArgumentException("No backpack definition was registered for UID: " + backpackUid);
}
return new ItemBackpack(definition, type);
ItemBackpack backpack = new ItemBackpack(definition, type);
Proxies.common.registerItem(backpack);
return backpack;
}

@Override
Expand All @@ -89,7 +94,9 @@ public Item createNaturalistBackpack(String backpackUid, ISpeciesRoot speciesRoo
if (definition == null) {
throw new IllegalArgumentException("No backpack definition was registered for UID: " + backpackUid);
}
return new ItemBackpackNaturalist(speciesRoot, definition);
ItemBackpack backpack = new ItemBackpackNaturalist(speciesRoot, definition);
Proxies.common.registerItem(backpack);
return backpack;
}

@Override
Expand Down

0 comments on commit 2f47114

Please sign in to comment.