Initial update to 1.12 (Crafting recipes don't work yet)
This commit is contained in:
parent
f27fc3b85b
commit
fab275beac
|
@ -1,35 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.api.achievement;
|
||||
|
||||
import net.minecraft.stats.Achievement;
|
||||
|
||||
public class BOPAchievements
|
||||
{
|
||||
public static Achievement obtain_flowers;
|
||||
public static Achievement obtain_berry;
|
||||
public static Achievement obtain_coral;
|
||||
public static Achievement obtain_miners_delight;
|
||||
public static Achievement obtain_wilted_lily;
|
||||
public static Achievement eat_shroom_powder;
|
||||
public static Achievement obtain_thorn;
|
||||
public static Achievement craft_muddy_pickaxe;
|
||||
public static Achievement obtain_deathbloom;
|
||||
public static Achievement obtain_turnip;
|
||||
public static Achievement grow_sacred_oak;
|
||||
public static Achievement obtain_honeycomb;
|
||||
public static Achievement obtain_pixie_dust;
|
||||
public static Achievement obtain_soul;
|
||||
public static Achievement obtain_celestial_crystal;
|
||||
public static Achievement craft_terrestrial_artifact;
|
||||
public static Achievement craft_ambrosia;
|
||||
public static Achievement explore_all_biomes;
|
||||
public static Achievement use_enderporter;
|
||||
public static Achievement use_biome_finder;
|
||||
|
||||
}
|
|
@ -17,9 +17,9 @@ import net.minecraft.client.gui.GuiListButton;
|
|||
import net.minecraft.client.gui.GuiScreen;
|
||||
import net.minecraft.client.gui.GuiSlider;
|
||||
import net.minecraft.client.gui.GuiTextField;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.Tessellator;
|
||||
import net.minecraft.client.renderer.VertexBuffer;
|
||||
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
|
||||
import net.minecraft.client.resources.I18n;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
|
@ -674,20 +674,20 @@ public class GuiBOPConfigureWorld extends GuiScreen implements GuiSlider.FormatH
|
|||
GlStateManager.disableLighting();
|
||||
GlStateManager.disableFog();
|
||||
Tessellator tessellator = Tessellator.getInstance();
|
||||
VertexBuffer worldrenderer = tessellator.getBuffer();
|
||||
BufferBuilder bufferBuilder = tessellator.getBuffer();
|
||||
this.mc.getTextureManager().bindTexture(OPTIONS_BACKGROUND);
|
||||
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
|
||||
worldrenderer.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||
worldrenderer.pos((double)(this.width / 2 - 90), 185.0D, 0.0D).tex(0.0D, 2.65625D).color(64, 64, 64, 64).endVertex();
|
||||
worldrenderer.pos((double)(this.width / 2 + 90), 185.0D, 0.0D).tex(5.625D, 2.65625D).color(64, 64, 64, 64).endVertex();
|
||||
worldrenderer.pos((double)(this.width / 2 + 90), 100.0D, 0.0D).tex(5.625D, 0.0D).color(64, 64, 64, 64).endVertex();
|
||||
worldrenderer.pos((double)(this.width / 2 - 90), 100.0D, 0.0D).tex(0.0D, 0.0D).color(64, 64, 64, 64).endVertex();
|
||||
bufferBuilder.begin(7, DefaultVertexFormats.POSITION_TEX_COLOR);
|
||||
bufferBuilder.pos((double)(this.width / 2 - 90), 185.0D, 0.0D).tex(0.0D, 2.65625D).color(64, 64, 64, 64).endVertex();
|
||||
bufferBuilder.pos((double)(this.width / 2 + 90), 185.0D, 0.0D).tex(5.625D, 2.65625D).color(64, 64, 64, 64).endVertex();
|
||||
bufferBuilder.pos((double)(this.width / 2 + 90), 100.0D, 0.0D).tex(5.625D, 0.0D).color(64, 64, 64, 64).endVertex();
|
||||
bufferBuilder.pos((double)(this.width / 2 - 90), 100.0D, 0.0D).tex(0.0D, 0.0D).color(64, 64, 64, 64).endVertex();
|
||||
tessellator.draw();
|
||||
this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirmTitle", new Object[0]), this.width / 2, 105, 16777215);
|
||||
this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirm1", new Object[0]), this.width / 2, 125, 16777215);
|
||||
this.drawCenteredString(this.fontRenderer, I18n.format("createWorld.customize.custom.confirm2", new Object[0]), this.width / 2, 135, 16777215);
|
||||
this.yesButton.drawButton(this.mc, mouseX, mouseY);
|
||||
this.noButton.drawButton(this.mc, mouseX, mouseY);
|
||||
this.yesButton.func_191745_a(this.mc, mouseX, mouseY, partialTicks);
|
||||
this.noButton.func_191745_a(this.mc, mouseX, mouseY, partialTicks);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
package biomesoplenty.client.gui;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
import com.google.common.base.Objects;
|
||||
import com.google.common.base.Predicate;
|
||||
import com.google.common.base.Predicates;
|
||||
|
@ -42,16 +43,18 @@ public abstract class GuiBOPPageList extends GuiBOPPageDelegate
|
|||
@Override
|
||||
protected void drawBackground() {}
|
||||
|
||||
// drawSlot
|
||||
@Override
|
||||
protected void drawSlot(int entryID, int p_180791_2_, int p_180791_3_, int p_180791_4_, int mouseXIn, int mouseYIn)
|
||||
protected void func_192637_a(int entryID, int p_180791_2_, int p_180791_3_, int p_180791_4_, int mouseXIn, int mouseYIn, float partialTicks)
|
||||
{
|
||||
this.getListEntry(entryID).drawEntry(entryID, p_180791_2_, p_180791_3_, this.getListWidth(), p_180791_4_, mouseXIn, mouseYIn, this.getSlotIndexFromScreenCoords(mouseXIn, mouseYIn) == entryID);
|
||||
this.getListEntry(entryID).func_192634_a(entryID, p_180791_2_, p_180791_3_, this.getListWidth(), p_180791_4_, mouseXIn, mouseYIn, this.getSlotIndexFromScreenCoords(mouseXIn, mouseYIn) == entryID, partialTicks);
|
||||
}
|
||||
|
||||
// updateItemPos
|
||||
@Override
|
||||
protected void updateItemPos(int p_178040_1_, int p_178040_2_, int p_178040_3_)
|
||||
protected void func_192639_a(int p_178040_1_, int p_178040_2_, int p_178040_3_, float partialTicks)
|
||||
{
|
||||
this.getListEntry(p_178040_1_).setSelected(p_178040_1_, p_178040_2_, p_178040_3_);
|
||||
this.getListEntry(p_178040_1_).func_192633_a(p_178040_1_, p_178040_2_, p_178040_3_, partialTicks);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -208,21 +211,22 @@ public abstract class GuiBOPPageList extends GuiBOPPageDelegate
|
|||
{
|
||||
return this.guiRight;
|
||||
}
|
||||
|
||||
|
||||
// drawEntry
|
||||
@Override
|
||||
public void drawEntry(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isVisible)
|
||||
public void func_192634_a(int slotIndex, int x, int y, int listWidth, int slotHeight, int mouseX, int mouseY, boolean isVisible, float partialTicks)
|
||||
{
|
||||
this.drawGui(this.guiLeft, y, mouseX, mouseY, false);
|
||||
this.drawGui(this.guiRight, y, mouseX, mouseY, false);
|
||||
this.drawGui(this.guiLeft, y, mouseX, mouseY, false, partialTicks);
|
||||
this.drawGui(this.guiRight, y, mouseX, mouseY, false, partialTicks);
|
||||
}
|
||||
|
||||
private void drawGui(Gui gui, int y, int mouseX, int mouseY, boolean isVisible)
|
||||
private void drawGui(Gui gui, int y, int mouseX, int mouseY, boolean isVisible, float partialTicks)
|
||||
{
|
||||
if (gui != null)
|
||||
{
|
||||
if (gui instanceof GuiButton)
|
||||
{
|
||||
this.drawGuiButton((GuiButton)gui, y, mouseX, mouseY, isVisible);
|
||||
this.drawGuiButton((GuiButton)gui, y, mouseX, mouseY, isVisible, partialTicks);
|
||||
}
|
||||
else if (gui instanceof GuiTextField)
|
||||
{
|
||||
|
@ -235,13 +239,13 @@ public abstract class GuiBOPPageList extends GuiBOPPageDelegate
|
|||
}
|
||||
}
|
||||
|
||||
private void drawGuiButton(GuiButton guiButton, int y, int mouseX, int mouseY, boolean isVisible)
|
||||
private void drawGuiButton(GuiButton guiButton, int y, int mouseX, int mouseY, boolean isVisible, float partialTicks)
|
||||
{
|
||||
guiButton.yPosition = y;
|
||||
|
||||
if (!isVisible)
|
||||
{
|
||||
guiButton.drawButton(this.minecraft, mouseX, mouseY);
|
||||
guiButton.func_191745_a(this.minecraft, mouseX, mouseY, partialTicks);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -264,12 +268,13 @@ public abstract class GuiBOPPageList extends GuiBOPPageDelegate
|
|||
guiLabel.drawLabel(this.minecraft, mouseX, mouseY);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// setSelected
|
||||
@Override
|
||||
public void setSelected(int p_178011_1_, int p_178011_2_, int p_178011_3_)
|
||||
public void func_192633_a(int p_178011_1_, int p_178011_2_, int p_178011_3_, float partialTicks)
|
||||
{
|
||||
this.drawGui(this.guiLeft, p_178011_3_, 0, 0, true);
|
||||
this.drawGui(this.guiRight, p_178011_3_, 0, 0, true);
|
||||
this.drawGui(this.guiLeft, p_178011_3_, 0, 0, true, partialTicks);
|
||||
this.drawGui(this.guiRight, p_178011_3_, 0, 0, true, partialTicks);
|
||||
}
|
||||
|
||||
|
||||
|
@ -370,7 +375,7 @@ public abstract class GuiBOPPageList extends GuiBOPPageDelegate
|
|||
public EditBoxEntry(int fieldId, String labelText, boolean isVisible, Predicate validator)
|
||||
{
|
||||
super(fieldId, labelText, isVisible);
|
||||
this.validator = (Predicate)Objects.firstNonNull(validator, Predicates.alwaysTrue());
|
||||
this.validator = (Predicate) MoreObjects.firstNonNull(validator, Predicates.alwaysTrue());
|
||||
}
|
||||
|
||||
public Predicate getValidator()
|
||||
|
|
|
@ -10,8 +10,8 @@ package biomesoplenty.client.particle;
|
|||
|
||||
import biomesoplenty.core.ClientProxy;
|
||||
import net.minecraft.client.particle.Particle;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.VertexBuffer;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -57,9 +57,8 @@ public class EntityPixieTrailFX extends Particle
|
|||
}
|
||||
|
||||
@Override
|
||||
public void renderParticle(VertexBuffer renderer, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY)
|
||||
public void renderParticle(BufferBuilder buffer, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY)
|
||||
{
|
||||
|
||||
// EffectRenderer will by default bind the vanilla particles texture, override with our own
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(ClientProxy.particleTexturesLocation);
|
||||
|
||||
|
@ -71,7 +70,7 @@ public class EntityPixieTrailFX extends Particle
|
|||
GlStateManager.enableBlend();
|
||||
GlStateManager.blendFunc(770, 1);
|
||||
|
||||
super.renderParticle(renderer, entity, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
super.renderParticle(buffer, entity, partialTicks, rotX, rotXZ, rotZ, rotYZ, rotXY);
|
||||
|
||||
GlStateManager.disableBlend();
|
||||
GlStateManager.depthMask(true);
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
package biomesoplenty.client.particle;
|
||||
|
||||
import net.minecraft.client.particle.Particle;
|
||||
import net.minecraft.client.renderer.VertexBuffer;
|
||||
import net.minecraft.client.renderer.BufferBuilder;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraft.world.World;
|
||||
|
@ -34,7 +34,7 @@ public class EntityTrailFX extends Particle
|
|||
}
|
||||
|
||||
@Override
|
||||
public void renderParticle(VertexBuffer renderer, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY)
|
||||
public void renderParticle(BufferBuilder builder, Entity entity, float partialTicks, float rotX, float rotXZ, float rotZ, float rotYZ, float rotXY)
|
||||
{
|
||||
// EffectRenderer will by default bind the vanilla particles texture, override with our own
|
||||
FMLClientHandler.instance().getClient().renderEngine.bindTexture(this.trailResource);
|
||||
|
@ -56,11 +56,11 @@ public class EntityTrailFX extends Particle
|
|||
int i = this.getBrightnessForRender(partialTicks);
|
||||
int j = i >> 16 & 65535;
|
||||
int k = i & 65535;
|
||||
|
||||
renderer.pos(x - width, y, z + width).tex(minU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
renderer.pos(x + width, y, z + width).tex(minU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
renderer.pos(x + width, y, z - width).tex(maxU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
renderer.pos(x - width, y, z - width).tex(maxU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
|
||||
builder.pos(x - width, y, z + width).tex(minU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
builder.pos(x + width, y, z + width).tex(minU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
builder.pos(x + width, y, z - width).tex(maxU, minV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
builder.pos(x - width, y, z - width).tex(maxU, maxV).color(this.particleRed, this.particleGreen, this.particleBlue, alpha).lightmap(j, k).endVertex();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -245,7 +245,7 @@ public class BlockBOPDoublePlant extends BlockBOPDoubleDecoration implements ISh
|
|||
|
||||
@SideOnly(Side.CLIENT)
|
||||
@Override
|
||||
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
// get the preset blocks variants
|
||||
ImmutableSet<IBlockState> presets = BlockStateUtils.getBlockPresets(this);
|
||||
|
@ -254,7 +254,7 @@ public class BlockBOPDoublePlant extends BlockBOPDoubleDecoration implements ISh
|
|||
{
|
||||
if (state != BOPBlocks.double_plant.getDefaultState().withProperty(VARIANT,BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL))
|
||||
{
|
||||
list.add(new ItemStack(itemIn, 1, this.getMetaFromState(state)));
|
||||
list.add(new ItemStack(this, 1, this.getMetaFromState(state)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -155,14 +155,14 @@ public class BlockBOPDoubleWoodSlab extends BlockSlab implements IBOPBlock
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
// get the preset blocks variants
|
||||
ImmutableSet<IBlockState> presets = BlockStateUtils.getBlockPresets(this);
|
||||
// register all the sub-blocks
|
||||
for (IBlockState state : presets)
|
||||
{
|
||||
list.add(new ItemStack(itemIn, 1, this.getMetaFromState(state)));
|
||||
list.add(new ItemStack(this, 1, this.getMetaFromState(state)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -190,14 +190,14 @@ public class BlockBOPHalfOtherSlab extends BlockSlab implements IBOPBlock
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
// get the preset blocks variants
|
||||
ImmutableSet<IBlockState> presets = BlockStateUtils.getBlockPresets(this);
|
||||
// register all the sub-blocks
|
||||
for (IBlockState state : presets)
|
||||
{
|
||||
list.add(new ItemStack(itemIn, 1, this.getMetaFromState(state)));
|
||||
list.add(new ItemStack(this, 1, this.getMetaFromState(state)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -147,14 +147,14 @@ public class BlockBOPHalfWoodSlab extends BlockSlab implements IBOPBlock
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
// get the preset blocks variants
|
||||
ImmutableSet<IBlockState> presets = BlockStateUtils.getBlockPresets(this);
|
||||
// register all the sub-blocks
|
||||
for (IBlockState state : presets)
|
||||
{
|
||||
list.add(new ItemStack(itemIn, 1, this.getMetaFromState(state)));
|
||||
list.add(new ItemStack(this, 1, this.getMetaFromState(state)));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -158,7 +158,7 @@ public class BlockBOPLeaves extends BlockLeaves implements IBOPBlock
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> list) {}
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) {}
|
||||
|
||||
// map from meta to state and vice verca. Use the same scheme as for the vanilla leaf blocks
|
||||
// highest bit is for CHECK_DECAY true=>1 false=>0
|
||||
|
|
|
@ -102,9 +102,7 @@ public class BlockBOPLog extends BlockLog implements IBOPBlock
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubBlocks(Item item, CreativeTabs tab, NonNullList<ItemStack> list)
|
||||
{
|
||||
}
|
||||
public void getSubBlocks(CreativeTabs tab, NonNullList<ItemStack> list) {}
|
||||
|
||||
// map from state to meta and vice verca - use high 2 bits for LOG_AXIS, low 2 bits for VARIANT
|
||||
@Override
|
||||
|
|
|
@ -10,6 +10,8 @@ import net.minecraft.block.state.IBlockState;
|
|||
import net.minecraft.client.renderer.color.IBlockColor;
|
||||
import net.minecraft.client.renderer.color.IItemColor;
|
||||
import net.minecraft.item.ItemBlock;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
|
@ -39,7 +41,7 @@ public class BlockBOPWhiteSand extends BlockFalling implements IBOPBlock
|
|||
}
|
||||
|
||||
@Override
|
||||
public MapColor getMapColor(IBlockState state)
|
||||
public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return MapColor.SAND;
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ import net.minecraft.item.ItemStack;
|
|||
import net.minecraft.util.IStringSerializable;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.RayTraceResult;
|
||||
import net.minecraft.world.IBlockAccess;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
@ -95,7 +96,7 @@ public class BlockBOPWhiteSandstone extends Block implements IBOPBlock
|
|||
}
|
||||
|
||||
@Override
|
||||
public MapColor getMapColor(IBlockState state)
|
||||
public MapColor getMapColor(IBlockState state, IBlockAccess world, BlockPos pos)
|
||||
{
|
||||
return MapColor.SAND;
|
||||
}
|
||||
|
|
|
@ -66,12 +66,6 @@ public class BiomeEssenceRecipe implements IRecipe
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getRecipeSize()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ItemStack getCraftingResult(InventoryCrafting var1)
|
||||
{
|
||||
|
@ -97,4 +91,18 @@ public class BiomeEssenceRecipe implements IRecipe
|
|||
|
||||
return itemList;
|
||||
}
|
||||
|
||||
// hideInRecipeBook?
|
||||
@Override
|
||||
public boolean func_192399_d()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
// canCraftWithSize
|
||||
@Override
|
||||
public boolean func_194133_a(int width, int height)
|
||||
{
|
||||
return width * height >= 1;
|
||||
}
|
||||
}
|
|
@ -22,6 +22,7 @@ import net.minecraft.entity.ai.EntityAIBase;
|
|||
import net.minecraft.entity.ai.EntityMoveHelper;
|
||||
import net.minecraft.entity.monster.IMob;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.util.DamageSource;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.SoundEvent;
|
||||
import net.minecraft.util.math.AxisAlignedBB;
|
||||
|
@ -54,7 +55,7 @@ public class EntityPixie extends EntityFlying implements IMob {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getHurtSound()
|
||||
protected SoundEvent getHurtSound(DamageSource source)
|
||||
{
|
||||
return BOPSounds.pixie_hurt;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ public class EntityWasp extends EntityFlying implements IMob {
|
|||
}
|
||||
|
||||
@Override
|
||||
protected SoundEvent getHurtSound()
|
||||
protected SoundEvent getHurtSound(DamageSource source)
|
||||
{
|
||||
return BOPSounds.wasp_hurt;
|
||||
}
|
||||
|
|
|
@ -7,45 +7,9 @@
|
|||
******************************************************************************/
|
||||
package biomesoplenty.common.handler;
|
||||
|
||||
import biomesoplenty.api.achievement.BOPAchievements;
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.enums.BOPFlowers;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
import biomesoplenty.api.enums.BOPTrees;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.BlockBOPFlower;
|
||||
import biomesoplenty.common.block.BlockBOPLog;
|
||||
import biomesoplenty.common.block.BlockBOPPlant;
|
||||
import biomesoplenty.common.block.BlockBOPSapling;
|
||||
import com.google.common.collect.Sets;
|
||||
import net.minecraft.block.Block;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.stats.AchievementList;
|
||||
import net.minecraft.util.JsonSerializableSet;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.MathHelper;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraftforge.event.entity.living.LivingEntityUseItemEvent;
|
||||
import net.minecraftforge.event.entity.living.LivingEvent.LivingUpdateEvent;
|
||||
import net.minecraftforge.event.entity.player.EntityItemPickupEvent;
|
||||
import net.minecraftforge.event.entity.player.PlayerInteractEvent;
|
||||
import net.minecraftforge.event.world.BlockEvent;
|
||||
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.gameevent.PlayerEvent.ItemCraftedEvent;
|
||||
|
||||
import java.util.Iterator;
|
||||
import java.util.Set;
|
||||
|
||||
public class AchievementEventHandler
|
||||
public class AchievementEventHandler
|
||||
{
|
||||
private static final Set<Biome> BOP_BIOMES_TO_EXPLORE = Sets.union(BOPBiomes.REG_INSTANCE.getPresentBiomes(), Biome.EXPLORATION_BIOMES_LIST);
|
||||
/*private static final Set<Biome> BOP_BIOMES_TO_EXPLORE = Sets.union(BOPBiomes.REG_INSTANCE.getPresentBiomes(), Biome.EXPLORATION_BIOMES_LIST);
|
||||
|
||||
@SubscribeEvent
|
||||
public void onItemPickup(EntityItemPickupEvent event)
|
||||
|
@ -303,5 +267,5 @@ public class AchievementEventHandler
|
|||
player.addStat(BOPAchievements.explore_all_biomes);
|
||||
}
|
||||
}
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
|
|
@ -1,92 +0,0 @@
|
|||
/*******************************************************************************
|
||||
* Copyright 2016, the Biomes O' Plenty Team
|
||||
*
|
||||
* This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International Public License.
|
||||
*
|
||||
* To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/.
|
||||
******************************************************************************/
|
||||
package biomesoplenty.common.init;
|
||||
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.craft_ambrosia;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.craft_muddy_pickaxe;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.craft_terrestrial_artifact;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.eat_shroom_powder;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.explore_all_biomes;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.grow_sacred_oak;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_berry;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_celestial_crystal;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_coral;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_deathbloom;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_flowers;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_honeycomb;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_miners_delight;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_pixie_dust;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_soul;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_thorn;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_turnip;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.obtain_wilted_lily;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.use_biome_finder;
|
||||
import static biomesoplenty.api.achievement.BOPAchievements.use_enderporter;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import biomesoplenty.api.enums.BOPFlowers;
|
||||
import biomesoplenty.api.enums.BOPPlants;
|
||||
import biomesoplenty.api.enums.BOPTrees;
|
||||
import biomesoplenty.api.item.BOPItems;
|
||||
import biomesoplenty.common.block.BlockBOPFlower;
|
||||
import biomesoplenty.common.block.BlockBOPPlant;
|
||||
import biomesoplenty.common.block.BlockBOPSapling;
|
||||
import biomesoplenty.common.item.ItemJarFilled;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.stats.Achievement;
|
||||
import net.minecraftforge.common.AchievementPage;
|
||||
|
||||
public class ModAchievements
|
||||
{
|
||||
public static final AchievementPage achievementPage = new AchievementPage("Biomes O\' Plenty");
|
||||
|
||||
public static void init()
|
||||
{
|
||||
AchievementPage.registerAchievementPage(achievementPage);
|
||||
|
||||
addAchievements();
|
||||
}
|
||||
|
||||
private static void addAchievements()
|
||||
{
|
||||
obtain_flowers = addAchievement("achievement.obtain_flowers", "obtain_flowers", 0, 0, new ItemStack(Blocks.RED_FLOWER), null);
|
||||
|
||||
obtain_turnip = addAchievement("achievement.obtain_turnip", "obtain_turnip", -1, -6, new ItemStack(BOPItems.turnip), obtain_flowers);
|
||||
grow_sacred_oak = addAchievement("achievement.grow_sacred_oak", "grow_sacred_oak", -5, -6, BlockBOPSapling.paging.getVariantItem(BOPTrees.SACRED_OAK), obtain_turnip).setSpecial();
|
||||
//craft_dart_blower = addAchievement("achievement.craft_dart_blower", "craft_dart_blower", -6, -3, new ItemStack(BOPItems.dart_blower), craft_flax_string);
|
||||
//craft_amethyst_sword = addAchievement("achievement.craft_amethyst_sword", "craft_amethyst_sword", -7, 0, new ItemStack(BOPItems.amethyst_sword), craft_flax_string).setSpecial();
|
||||
|
||||
obtain_thorn = addAchievement("achievement.obtain_thorn", "obtain_thorn", -3, -1, BlockBOPPlant.paging.getVariantItem(BOPPlants.THORN), obtain_flowers);
|
||||
//craft_poison_jar = addAchievement("achievement.craft_poison_jar", "craft_poison_jar", -3, 1, new ItemStack(BOPItems.jar_filled, 1, ItemJarFilled.JarContents.POISON.ordinal()), obtain_thorn);
|
||||
obtain_deathbloom = addAchievement("achievement.obtain_deathbloom", "obtain_deathbloom", -6, 3, BlockBOPFlower.paging.getVariantItem(BOPFlowers.DEATHBLOOM), obtain_thorn);
|
||||
|
||||
obtain_berry = addAchievement("achievement.obtain_berry", "obtain_berry", 2, 1, new ItemStack(BOPItems.berries), obtain_flowers);
|
||||
eat_shroom_powder = addAchievement("achievement.eat_shroom_powder", "eat_shroom_powder", 5, -1, new ItemStack(BOPItems.shroompowder), obtain_berry);
|
||||
obtain_honeycomb = addAchievement("achievement.obtain_honeycomb", "obtain_honeycomb", 4, 1, new ItemStack(BOPItems.filled_honeycomb), eat_shroom_powder);
|
||||
obtain_soul = addAchievement("achievement.obtain_soul", "obtain_soul", 3, 4, new ItemStack(BOPItems.soul), obtain_honeycomb);
|
||||
obtain_celestial_crystal = addAchievement("achievement.obtain_celestial_crystal", "obtain_celestial_crystal", 6, 3, new ItemStack(BOPItems.crystal_shard), obtain_honeycomb);
|
||||
craft_ambrosia = addAchievement("achievement.craft_ambrosia", "craft_ambrosia", 7, 5, new ItemStack(BOPItems.ambrosia), obtain_celestial_crystal).setSpecial();
|
||||
|
||||
obtain_coral = addAchievement("achievement.obtain_coral", "obtain_coral", 2, -2, new ItemStack(BOPBlocks.coral), obtain_flowers);
|
||||
obtain_miners_delight = addAchievement("achievement.obtain_miners_delight", "obtain_miners_delight", 3, -4, BlockBOPFlower.paging.getVariantItem(BOPFlowers.MINERS_DELIGHT), obtain_coral);
|
||||
craft_terrestrial_artifact = addAchievement("achievement.craft_terrestrial_artifact", "craft_terrestrial_artifact", 6, -4, new ItemStack(BOPItems.terrestrial_artifact), obtain_miners_delight);
|
||||
obtain_pixie_dust = addAchievement("achievement.obtain_pixie_dust", "obtain_pixie_dust", 7, -2, new ItemStack(BOPItems.pixie_dust), craft_terrestrial_artifact);
|
||||
obtain_wilted_lily = addAchievement("achievement.obtain_wilted_lily", "obtain_wilted_lily", 8, -5, BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILTED_LILY), craft_terrestrial_artifact);
|
||||
use_biome_finder = addAchievement("achievement.use_biome_finder", "use_biome_finder", 5, -6, new ItemStack(BOPItems.biome_finder), craft_terrestrial_artifact);
|
||||
explore_all_biomes = addAchievement("achievement.explore_all_biomes", "explore_all_biomes", 2, -7, new ItemStack(BOPItems.earth), use_biome_finder).setSpecial();
|
||||
}
|
||||
|
||||
private static Achievement addAchievement(String unlocalizedName, String identifier, int column, int row, ItemStack iconStack, Achievement parent)
|
||||
{
|
||||
Achievement achievement = new Achievement(unlocalizedName, identifier, column, row, iconStack, parent);
|
||||
achievement.registerStat();
|
||||
achievementPage.getAchievements().add(achievement);
|
||||
return achievement;
|
||||
}
|
||||
}
|
|
@ -21,6 +21,9 @@ import net.minecraft.init.Blocks;
|
|||
import net.minecraft.init.Items;
|
||||
import net.minecraft.item.EnumDyeColor;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.crafting.IRecipe;
|
||||
import net.minecraft.item.crafting.Ingredient;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
import net.minecraftforge.fml.common.registry.GameRegistry;
|
||||
import net.minecraftforge.oredict.OreDictionary;
|
||||
import net.minecraftforge.oredict.ShapedOreRecipe;
|
||||
|
@ -43,79 +46,79 @@ public class ModCrafting
|
|||
/*** Dyes ***/
|
||||
|
||||
// Flower1
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.SILVER.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.CLOVER));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.CYAN.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.SWAMPFLOWER));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.black_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.DEATHBLOOM));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.CYAN.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.GLOWFLOWER));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BLUE_HYDRANGEA));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.ORANGE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ORANGE_COSMOS));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.PINK_DAFFODIL));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.MAGENTA.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILDFLOWER));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PURPLE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.VIOLET));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.white_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WHITE_ANEMONE));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.black_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ENDERLOTUS));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BROMELIAD));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.GRAY.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILTED_LILY));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.PINK_HIBISCUS));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.white_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.LILY_OF_THE_VALLEY));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.ORANGE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BURNING_BLOSSOM));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.SILVER.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.CLOVER));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.CYAN.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.SWAMPFLOWER));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.black_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.DEATHBLOOM));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.CYAN.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.GLOWFLOWER));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BLUE_HYDRANGEA));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.ORANGE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ORANGE_COSMOS));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.PINK_DAFFODIL));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.MAGENTA.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILDFLOWER));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PURPLE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.VIOLET));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.white_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WHITE_ANEMONE));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.black_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ENDERLOTUS));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BROMELIAD));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.GRAY.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILTED_LILY));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.PINK_HIBISCUS));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.white_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.LILY_OF_THE_VALLEY));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.ORANGE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BURNING_BLOSSOM));
|
||||
|
||||
// Flower 2
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PURPLE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.LAVENDER));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.YELLOW.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.GOLDENROD));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.blue_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BLUEBELLS));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.MINERS_DELIGHT));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ICY_IRIS));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ROSE));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PURPLE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.LAVENDER));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.YELLOW.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.GOLDENROD));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.blue_dye, 2), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BLUEBELLS));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.PINK.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.MINERS_DELIGHT));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ICY_IRIS));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ROSE));
|
||||
|
||||
// Others
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.GRAY.getDyeDamage()), new ItemStack(BOPItems.ash));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIME.getDyeDamage()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.GLOWSHROOM.ordinal()));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.FLAT_MUSHROOM.ordinal()));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.blue_dye, 2), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.BLUE_MILK_CAP.ordinal()));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), BlockBOPPlant.paging.getVariantItem(BOPPlants.CATTAIL));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.FLAX));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPPlant.paging.getVariantItem(BOPPlants.RAFFLESIA));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), new ItemStack(BOPItems.pinecone));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.GRAY.getDyeDamage()), new ItemStack(BOPItems.ash));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIME.getDyeDamage()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.GLOWSHROOM.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.FLAT_MUSHROOM.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.blue_dye, 2), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.BLUE_MILK_CAP.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), BlockBOPPlant.paging.getVariantItem(BOPPlants.CATTAIL));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.TALL_CATTAIL));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.LIGHT_BLUE.getDyeDamage()), ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.FLAX));
|
||||
addShapelessRecipe(new ItemStack(Items.DYE, 2, EnumDyeColor.RED.getDyeDamage()), BlockBOPPlant.paging.getVariantItem(BOPPlants.RAFFLESIA));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.brown_dye, 2), new ItemStack(BOPItems.pinecone));
|
||||
|
||||
/*** BOP brick and stone stairs and slabs ***/
|
||||
|
||||
for (BlockBOPHalfOtherSlab.SlabType slabType : BlockBOPHalfOtherSlab.SlabType.values())
|
||||
{
|
||||
BlockBOPHalfOtherSlab otherSlab = (BlockBOPHalfOtherSlab)BOPBlocks.other_slab;
|
||||
GameRegistry.addShapedRecipe(otherSlab.getVariantItem(slabType, 6), "RRR", 'R', otherSlab.getFullBlockVariantItem(slabType));
|
||||
addShapedRecipe(otherSlab.getVariantItem(slabType, 6), "RRR", 'R', otherSlab.getFullBlockVariantItem(slabType));
|
||||
}
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.mud_brick_block);
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(Blocks.TNT, 1), "GSG", "SGS", "GSG", 'S', BOPBlocks.white_sand, 'G', Items.GUNPOWDER);
|
||||
addShapedRecipe(new ItemStack(Blocks.TNT, 1), "GSG", "SGS", "GSG", 'S', BOPBlocks.white_sand, 'G', Items.GUNPOWDER);
|
||||
|
||||
// White Sandstone
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), " R", " RR", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone_stairs, 4), "R ", "RR ", "RRR", 'R', BOPBlocks.white_sandstone);
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1), "RR", "RR", 'R', BOPBlocks.white_sand);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 4, BlockBOPWhiteSandstone.StoneType.SMOOTH.ordinal()), "RR", "RR", 'R', BOPBlocks.white_sandstone);
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1, BlockBOPWhiteSandstone.StoneType.CHISELED.ordinal()), "R", "R", 'R', new ItemStack(BOPBlocks.other_slab, 1, BlockBOPHalfOtherSlab.SlabType.WHITE_SANDSTONE.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1), "RR", "RR", 'R', BOPBlocks.white_sand);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 4, BlockBOPWhiteSandstone.StoneType.SMOOTH.ordinal()), "RR", "RR", 'R', BOPBlocks.white_sandstone);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.white_sandstone, 1, BlockBOPWhiteSandstone.StoneType.CHISELED.ordinal()), "R", "R", 'R', new ItemStack(BOPBlocks.other_slab, 1, BlockBOPHalfOtherSlab.SlabType.WHITE_SANDSTONE.ordinal()));
|
||||
|
||||
/*** Wood stairs and slabs ***/
|
||||
|
||||
// Make sticks from any BOP plank
|
||||
GameRegistry.addShapedRecipe(new ItemStack(Items.STICK, 4), "#", "#", '#', BOPBlocks.planks_0);
|
||||
addShapedRecipe(new ItemStack(Items.STICK, 4), "#", "#", '#', BOPBlocks.planks_0);
|
||||
|
||||
// Note you can't make planks (and therefore doors, fences etc) from GIANT_FLOWER and DEAD logs
|
||||
|
||||
for (BOPWoods wood : BOPWoods.values())
|
||||
{
|
||||
if (!wood.hasPlanks()) {continue;}
|
||||
GameRegistry.addShapelessRecipe(BlockBOPPlanks.paging.getVariantItem(wood, 4), BlockBOPLog.paging.getVariantItem(wood));
|
||||
GameRegistry.addShapedRecipe(BlockBOPHalfWoodSlab.paging.getVariantItem(wood, 6), "###", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BlockBOPWoodStairs.getBlock(wood), 4), "# ", "## ", "###", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BlockBOPDoor.getBlock(wood).getDoorItem(), 3), "##", "##", "##", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BlockBOPFence.getBlock(wood), 3), "W#W", "W#W", '#', Items.STICK, 'W', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BlockBOPFenceGate.getBlock(wood), 1), "#W#", "#W#", '#', Items.STICK, 'W', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
addShapelessRecipe(BlockBOPPlanks.paging.getVariantItem(wood, 4), BlockBOPLog.paging.getVariantItem(wood));
|
||||
addShapedRecipe(BlockBOPHalfWoodSlab.paging.getVariantItem(wood, 6), "###", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
addShapedRecipe(new ItemStack(BlockBOPWoodStairs.getBlock(wood), 4), "# ", "## ", "###", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
addShapedRecipe(new ItemStack(BlockBOPDoor.getBlock(wood).getDoorItem(), 3), "##", "##", "##", '#', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
addShapedRecipe(new ItemStack(BlockBOPFence.getBlock(wood), 3), "W#W", "W#W", '#', Items.STICK, 'W', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
addShapedRecipe(new ItemStack(BlockBOPFenceGate.getBlock(wood), 1), "#W#", "#W#", '#', Items.STICK, 'W', BlockBOPPlanks.paging.getVariantItem(wood));
|
||||
}
|
||||
|
||||
|
||||
|
@ -123,110 +126,110 @@ public class ModCrafting
|
|||
|
||||
for (BOPGems gem : BOPGems.values())
|
||||
{
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.gem, 9, gem.ordinal()), new ItemStack(BOPBlocks.gem_block, 1, gem.ordinal()));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.gem_block, 1, gem.ordinal()), "AAA", "AAA", "AAA", 'A', new ItemStack(BOPItems.gem, 1, gem.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.gem, 9, gem.ordinal()), new ItemStack(BOPBlocks.gem_block, 1, gem.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.gem_block, 1, gem.ordinal()), "AAA", "AAA", "AAA", 'A', new ItemStack(BOPItems.gem, 1, gem.ordinal()));
|
||||
}
|
||||
|
||||
/*** Tools, weapons, armor ***/
|
||||
|
||||
/*** Biome Finder ***/
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPItems.biome_finder), " A ", "AOA", " A ", 'A', new ItemStack(BOPItems.gem, 1, BOPGems.AMETHYST.ordinal()), 'O', new ItemStack(BOPItems.terrestrial_artifact));
|
||||
GameRegistry.addRecipe(new BiomeEssenceRecipe());
|
||||
addShapedRecipe(new ItemStack(BOPItems.biome_finder), " A ", "AOA", " A ", 'A', new ItemStack(BOPItems.gem, 1, BOPGems.AMETHYST.ordinal()), 'O', new ItemStack(BOPItems.terrestrial_artifact));
|
||||
//addRecipe(new BiomeEssenceRecipe());
|
||||
|
||||
/*** Flower Basket ***/
|
||||
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(BOPItems.flower_basket), " S ", "S S", "SSS", 'S', "stickWood"));
|
||||
//addRecipe(new ShapedOreRecipe(new ResourceLocation(""), new ItemStack(BOPItems.flower_basket), " S ", "S S", "SSS", 'S', "stickWood"));
|
||||
|
||||
/*** Misc Others ***/
|
||||
|
||||
// Overgrown Netherrack
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK.ordinal()), "SSS", "SNS", "SSS", 'S', Items.WHEAT_SEEDS, 'N', Blocks.NETHERRACK);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK.ordinal()), "SSS", "SNS", "SSS", 'S', Items.WHEAT_SEEDS, 'N', Blocks.NETHERRACK);
|
||||
|
||||
// Cattail Wool
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(Blocks.WOOL), "CCC", "CCC", "CCC", 'C', "plantCattail"));
|
||||
//addRecipe(new ShapedOreRecipe(new ResourceLocation(""), new ItemStack(Blocks.WOOL), "CCC", "CCC", "CCC", 'C', "plantCattail"));
|
||||
|
||||
// Ash Coal
|
||||
GameRegistry.addShapedRecipe(new ItemStack(Items.COAL), "AAA", "AAA", "AAA", 'A', new ItemStack(BOPItems.ash));
|
||||
addShapedRecipe(new ItemStack(Items.COAL), "AAA", "AAA", "AAA", 'A', new ItemStack(BOPItems.ash));
|
||||
|
||||
// Ash Block
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.ash_block), "AA", "AA", 'A', new ItemStack(BOPItems.ash));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.ash_block), "AA", "AA", 'A', new ItemStack(BOPItems.ash));
|
||||
|
||||
// Mud Block
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(BOPBlocks.mud, 1), "MM", "MM", 'M', "ballMud"));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.mud), "dirt", new ItemStack(Items.WATER_BUCKET)));
|
||||
//addRecipe(new ShapedOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.mud, 1), "MM", "MM", 'M', "ballMud"));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.mud), "dirt", new ItemStack(Items.WATER_BUCKET)));
|
||||
|
||||
// Mud Brick Blcok
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_block), "MM", "MM", 'M', new ItemStack(BOPItems.mud_brick));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.mud_brick_block), "MM", "MM", 'M', new ItemStack(BOPItems.mud_brick));
|
||||
|
||||
// Celestial Crystal Block
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.crystal), "CC", "CC", 'C', new ItemStack(BOPItems.crystal_shard));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.crystal), "CC", "CC", 'C', new ItemStack(BOPItems.crystal_shard));
|
||||
|
||||
//Coarse Dirts
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal()));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.LOAMY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.LOAMY.ordinal()));
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal()));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SANDY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SANDY.ordinal()));
|
||||
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal()));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), "GD", "DG", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal()));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.dirt, 4, BOPBlocks.dirt.getMetaFromState(BOPBlocks.dirt.getDefaultState().withProperty(BlockBOPDirt.VARIANT, BlockBOPDirt.BOPDirtType.SILTY).withProperty(BlockBOPDirt.COARSE, true))), "DG", "GD", 'G', Blocks.GRAVEL, 'D', new ItemStack(BOPBlocks.dirt, 4, BlockBOPDirt.BOPDirtType.SILTY.ordinal()));
|
||||
|
||||
// Records
|
||||
GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(BOPItems.record_wanderer), "TTT", "TRT", "TTT", 'T', BOPItems.terrestrial_artifact, 'R', "record"));
|
||||
//addRecipe(new ShapedOreRecipe(new ResourceLocation(""), new ItemStack(BOPItems.record_wanderer), "TTT", "TRT", "TTT", 'T', BOPItems.terrestrial_artifact, 'R', "record"));
|
||||
|
||||
// Bamboo Thatching
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.bamboo_thatching), "##", "##", '#', BOPBlocks.bamboo);
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.bamboo_thatching), "##", "##", '#', BOPBlocks.bamboo);
|
||||
|
||||
// Bamboo
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.bamboo, 8), " #", "# ", '#', new ItemStack(BOPBlocks.bamboo_thatching));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.bamboo, 8), "# ", " #", '#', new ItemStack(BOPBlocks.bamboo_thatching));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.bamboo, 8), " #", "# ", '#', new ItemStack(BOPBlocks.bamboo_thatching));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.bamboo, 8), "# ", " #", '#', new ItemStack(BOPBlocks.bamboo_thatching));
|
||||
|
||||
// Empty Jar
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPItems.jar_empty, 3, 0), "# #", "# #", "###", '#', Blocks.GLASS);
|
||||
addShapedRecipe(new ItemStack(BOPItems.jar_empty, 3, 0), "# #", "# #", "###", '#', Blocks.GLASS);
|
||||
|
||||
// Ambrosia
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.ambrosia), new ItemStack(BOPItems.pixie_dust), new ItemStack(Items.POTIONITEM, 1, 0), new ItemStack(BOPItems.ichor), new ItemStack(BOPBlocks.seaweed, 1, BlockBOPSeaweed.SeaweedType.KELP.ordinal()), BlockBOPPlant.paging.getVariantItem(BOPPlants.ROOT), new ItemStack(BOPItems.crystal_shard), new ItemStack(BOPItems.jar_filled, 1, ItemJarFilled.JarContents.HONEY.ordinal()), new ItemStack(BOPItems.berries), Items.SUGAR);
|
||||
addShapelessRecipe(new ItemStack(BOPItems.ambrosia), new ItemStack(BOPItems.pixie_dust), new ItemStack(Items.POTIONITEM, 1, 0), new ItemStack(BOPItems.ichor), new ItemStack(BOPBlocks.seaweed, 1, BlockBOPSeaweed.SeaweedType.KELP.ordinal()), BlockBOPPlant.paging.getVariantItem(BOPPlants.ROOT), new ItemStack(BOPItems.crystal_shard), new ItemStack(BOPItems.jar_filled, 1, ItemJarFilled.JarContents.HONEY.ordinal()), new ItemStack(BOPItems.berries), Items.SUGAR);
|
||||
|
||||
// Oranmental Artifact
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.terrestrial_artifact), new ItemStack(BOPItems.gem, 1, BOPGems.RUBY.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.TOPAZ.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.AMBER.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.PERIDOT.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.MALACHITE.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.SAPPHIRE.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.TANZANITE.ordinal()), Items.EMERALD);
|
||||
addShapelessRecipe(new ItemStack(BOPItems.terrestrial_artifact), new ItemStack(BOPItems.gem, 1, BOPGems.RUBY.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.TOPAZ.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.AMBER.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.PERIDOT.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.MALACHITE.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.SAPPHIRE.ordinal()), new ItemStack(BOPItems.gem, 1, BOPGems.TANZANITE.ordinal()), Items.EMERALD);
|
||||
|
||||
// Flesh Block
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.flesh), "##", "##", '#', new ItemStack(BOPItems.fleshchunk));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.flesh), "##", "##", '#', new ItemStack(BOPItems.fleshchunk));
|
||||
|
||||
// Honeycombs
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.hive, 1, BlockBOPHive.HiveType.HONEYCOMB.ordinal()), "##", "##", '#', new ItemStack(BOPItems.honeycomb));
|
||||
GameRegistry.addShapedRecipe(new ItemStack(BOPBlocks.hive, 1, BlockBOPHive.HiveType.FILLED_HONEYCOMB.ordinal()), "##", "##", '#', new ItemStack(BOPItems.filled_honeycomb));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.hive, 1, BlockBOPHive.HiveType.HONEYCOMB.ordinal()), "##", "##", '#', new ItemStack(BOPItems.honeycomb));
|
||||
addShapedRecipe(new ItemStack(BOPBlocks.hive, 1, BlockBOPHive.HiveType.FILLED_HONEYCOMB.ordinal()), "##", "##", '#', new ItemStack(BOPItems.filled_honeycomb));
|
||||
|
||||
// Food
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.shroompowder), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.TOADSTOOL.ordinal()));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.ricebowl), Items.BOWL, BlockBOPPlant.paging.getVariantItem(BOPPlants.WILDRICE));
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.saladfruit), Items.BOWL, BOPItems.peach, Items.APPLE, BOPItems.pear);
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.saladveggie), Items.BOWL, BOPItems.turnip, Items.CARROT, Items.POTATO);
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(BOPItems.saladshroom), Items.BOWL, new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.TOADSTOOL.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.PORTOBELLO.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.BLUE_MILK_CAP.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.shroompowder), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.TOADSTOOL.ordinal()));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.ricebowl), Items.BOWL, BlockBOPPlant.paging.getVariantItem(BOPPlants.WILDRICE));
|
||||
addShapelessRecipe(new ItemStack(BOPItems.saladfruit), Items.BOWL, BOPItems.peach, Items.APPLE, BOPItems.pear);
|
||||
addShapelessRecipe(new ItemStack(BOPItems.saladveggie), Items.BOWL, BOPItems.turnip, Items.CARROT, Items.POTATO);
|
||||
addShapelessRecipe(new ItemStack(BOPItems.saladshroom), Items.BOWL, new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.TOADSTOOL.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.PORTOBELLO.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.BLUE_MILK_CAP.ordinal()));
|
||||
|
||||
// Terrariums
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FERN.ordinal()), "grass", new ItemStack(Blocks.TALLGRASS, 1, 2), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.MUSHROOM.ordinal()), "grass", new ItemStack(Blocks.RED_MUSHROOM), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.CACTUS.ordinal()), "grass", BlockBOPPlant.paging.getVariantItem(BOPPlants.TINYCACTUS), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLAX.ordinal()), "grass", ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.FLAX), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.SAPLING.ordinal()), "grass", "treeSapling", new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.KORU.ordinal()), "grass", BlockBOPPlant.paging.getVariantItem(BOPPlants.KORU), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLOWER.ordinal()), "grass", new ItemStack(Blocks.RED_FLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLOWER.ordinal()), "grass", new ItemStack(Blocks.YELLOW_FLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.BAMBOO.ordinal()), new ItemStack(Blocks.DIRT, 1, 2), new ItemStack(BOPBlocks.bamboo), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.DEAD.ordinal()), "grass", new ItemStack(Blocks.DEADBUSH), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.GLOWSHROOM.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.GLOWSHROOM.ordinal()), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.MYSTIC.ordinal()), "grass", BlockBOPFlower.paging.getVariantItem(BOPFlowers.GLOWFLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.OMINOUS.ordinal()), "grass", BlockBOPFlower.paging.getVariantItem(BOPFlowers.DEATHBLOOM), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.ORIGIN.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.ORIGIN.ordinal()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ROSE), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.WASTELAND.ordinal()), new ItemStack(BOPBlocks.dried_sand), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILTED_LILY), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.NETHER.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK.ordinal()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BURNING_BLOSSOM), new ItemStack(BOPItems.jar_empty)));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.ENDER.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS.ordinal()), BlockBOPPlant.paging.getVariantItem(BOPPlants.SPECTRALFERN), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FERN.ordinal()), "grass", new ItemStack(Blocks.TALLGRASS, 1, 2), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.MUSHROOM.ordinal()), "grass", new ItemStack(Blocks.RED_MUSHROOM), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.CACTUS.ordinal()), "grass", BlockBOPPlant.paging.getVariantItem(BOPPlants.TINYCACTUS), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLAX.ordinal()), "grass", ((BlockBOPDoublePlant)BOPBlocks.double_plant).getVariantItem(BlockBOPDoublePlant.DoublePlantType.FLAX), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.SAPLING.ordinal()), "grass", "treeSapling", new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.KORU.ordinal()), "grass", BlockBOPPlant.paging.getVariantItem(BOPPlants.KORU), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLOWER.ordinal()), "grass", new ItemStack(Blocks.RED_FLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.FLOWER.ordinal()), "grass", new ItemStack(Blocks.YELLOW_FLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.BAMBOO.ordinal()), new ItemStack(Blocks.DIRT, 1, 2), new ItemStack(BOPBlocks.bamboo), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.DEAD.ordinal()), "grass", new ItemStack(Blocks.DEADBUSH), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.GLOWSHROOM.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_STONE.ordinal()), new ItemStack(BOPBlocks.mushroom, 1, BlockBOPMushroom.MushroomType.GLOWSHROOM.ordinal()), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.MYSTIC.ordinal()), "grass", BlockBOPFlower.paging.getVariantItem(BOPFlowers.GLOWFLOWER), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.OMINOUS.ordinal()), "grass", BlockBOPFlower.paging.getVariantItem(BOPFlowers.DEATHBLOOM), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.ORIGIN.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.ORIGIN.ordinal()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.ROSE), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.WASTELAND.ordinal()), new ItemStack(BOPBlocks.dried_sand), BlockBOPFlower.paging.getVariantItem(BOPFlowers.WILTED_LILY), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.NETHER.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.OVERGROWN_NETHERRACK.ordinal()), BlockBOPFlower.paging.getVariantItem(BOPFlowers.BURNING_BLOSSOM), new ItemStack(BOPItems.jar_empty)));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.terrarium, 1, BlockBOPTerrarium.TerrariumType.ENDER.ordinal()), new ItemStack(BOPBlocks.grass, 1, BlockBOPGrass.BOPGrassType.SPECTRAL_MOSS.ordinal()), BlockBOPPlant.paging.getVariantItem(BOPPlants.SPECTRALFERN), new ItemStack(BOPItems.jar_empty)));
|
||||
|
||||
// Vanilla convenience recipes
|
||||
GameRegistry.addShapelessRecipe(new ItemStack(Blocks.SAND), new ItemStack(BOPBlocks.dried_sand), new ItemStack(Items.WATER_BUCKET));
|
||||
GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(BOPBlocks.plant_0, 1, BOPPlants.LEAFPILE.ordinal()), "treeLeaves"));
|
||||
addShapelessRecipe(new ItemStack(Blocks.SAND), new ItemStack(BOPBlocks.dried_sand), new ItemStack(Items.WATER_BUCKET));
|
||||
//addRecipe(new ShapelessOreRecipe(new ResourceLocation(""), new ItemStack(BOPBlocks.plant_0, 1, BOPPlants.LEAFPILE.ordinal()), "treeLeaves"));
|
||||
}
|
||||
|
||||
|
||||
|
@ -366,4 +369,19 @@ public class ModCrafting
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
private static void addShapelessRecipe(ItemStack output, Object... input)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private static void addShapedRecipe(ItemStack output, Object... input)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private static void addRecipe(IRecipe recipe)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
|
@ -46,7 +46,7 @@ public class ItemBOPBlock extends ItemBlock
|
|||
// define the items which will appear in the creative tab (called by ItemBlock class)
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
{
|
||||
ImmutableSet<IBlockState> presets = BlockStateUtils.getBlockPresets(this.block);
|
||||
if (presets.isEmpty())
|
||||
|
|
|
@ -66,7 +66,7 @@ public class ItemBOPLilypad extends ItemBOPBlock {
|
|||
net.minecraftforge.common.util.BlockSnapshot blocksnapshot = net.minecraftforge.common.util.BlockSnapshot.getBlockSnapshot(worldIn, blockpos1);
|
||||
|
||||
worldIn.setBlockState(blockpos1, BOPBlocks.waterlily.getStateFromMeta(itemStackIn.getMetadata()));
|
||||
if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP).isCanceled())
|
||||
if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP, hand).isCanceled())
|
||||
{
|
||||
blocksnapshot.restore(true, false);
|
||||
return new ActionResult<ItemStack>(EnumActionResult.FAIL, itemStackIn);
|
||||
|
|
|
@ -74,7 +74,7 @@ public class ItemBOPPlant extends ItemBOPBlock {
|
|||
net.minecraftforge.common.util.BlockSnapshot blocksnapshot = net.minecraftforge.common.util.BlockSnapshot.getBlockSnapshot(worldIn, blockpos1);
|
||||
|
||||
worldIn.setBlockState(blockpos1, BlockBOPPlant.paging.getVariantState(BOPPlants.REED));
|
||||
if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP).isCanceled())
|
||||
if (net.minecraftforge.event.ForgeEventFactory.onPlayerBlockPlace(playerIn, blocksnapshot, net.minecraft.util.EnumFacing.UP, hand).isCanceled())
|
||||
{
|
||||
blocksnapshot.restore(true, false);
|
||||
return new ActionResult<ItemStack>(EnumActionResult.FAIL, itemStackIn);
|
||||
|
|
|
@ -10,11 +10,15 @@ package biomesoplenty.common.item;
|
|||
|
||||
import java.util.List;
|
||||
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.Item;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
public class ItemBiomeEssence extends Item
|
||||
{
|
||||
public ItemBiomeEssence() {}
|
||||
|
@ -29,10 +33,11 @@ public class ItemBiomeEssence extends Item
|
|||
}
|
||||
|
||||
@Override
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List infoList, boolean advancedItemTooltips) {
|
||||
Biome biome = this.getBiome(itemStack);
|
||||
public void addInformation(ItemStack stack, @Nullable World world, List<String> tooltip, ITooltipFlag advanced)
|
||||
{
|
||||
Biome biome = this.getBiome(stack);
|
||||
if (biome != null) {
|
||||
infoList.add(biome.getBiomeName());
|
||||
tooltip.add(biome.getBiomeName());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
package biomesoplenty.common.item;
|
||||
|
||||
import biomesoplenty.common.util.biome.BiomeUtils;
|
||||
import net.minecraft.client.util.ITooltipFlag;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.item.IItemPropertyGetter;
|
||||
|
@ -28,6 +29,7 @@ import net.minecraft.world.biome.Biome;
|
|||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public class ItemBiomeFinder extends Item
|
||||
|
@ -184,14 +186,14 @@ public class ItemBiomeFinder extends Item
|
|||
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void addInformation(ItemStack itemStack, EntityPlayer player, List infoList, boolean advancedItemTooltips)
|
||||
public void addInformation(ItemStack itemStack, @Nullable World world, List<String> tooltip, ITooltipFlag advanced)
|
||||
{
|
||||
if (!itemStack.hasTagCompound()) {return;}
|
||||
NBTTagCompound nbt = itemStack.getTagCompound();
|
||||
if (nbt.hasKey("biomeIDToFind"))
|
||||
{
|
||||
Biome biomeToFind = Biome.getBiome(nbt.getInteger("biomeIDToFind")); // returns ocean if biomeIDToFind is out of bounds
|
||||
infoList.add(biomeToFind.getBiomeName());
|
||||
tooltip.add(biomeToFind.getBiomeName());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -30,11 +30,11 @@ public class ItemGem extends Item
|
|||
// add all the gem types as separate items in the creative tab
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
{
|
||||
for (BOPGems gemType : BOPGems.values())
|
||||
{
|
||||
subItems.add(new ItemStack(itemIn, 1, gemType.ordinal()));
|
||||
subItems.add(new ItemStack(this, 1, gemType.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -57,11 +57,11 @@ public class ItemJarFilled extends Item
|
|||
// add all the contents types as separate items in the creative tab
|
||||
@Override
|
||||
@SideOnly(Side.CLIENT)
|
||||
public void getSubItems(Item itemIn, CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
public void getSubItems(CreativeTabs tab, NonNullList<ItemStack> subItems)
|
||||
{
|
||||
for (JarContents contents : JarContents.values())
|
||||
{
|
||||
subItems.add(new ItemStack(itemIn, 1, contents.ordinal()));
|
||||
subItems.add(new ItemStack(this, 1, contents.ordinal()));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ import javax.annotation.Nullable;
|
|||
|
||||
import com.google.common.base.Optional;
|
||||
import com.google.common.collect.Sets;
|
||||
import net.minecraft.world.gen.ChunkGeneratorSettings;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
|
||||
import com.google.common.base.Function;
|
||||
|
@ -27,7 +28,6 @@ import net.minecraft.util.math.BlockPos;
|
|||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.biome.BiomeProvider;
|
||||
import net.minecraft.world.gen.ChunkProviderSettings;
|
||||
|
||||
public class BiomeUtils
|
||||
{
|
||||
|
@ -40,7 +40,7 @@ public class BiomeUtils
|
|||
}
|
||||
else
|
||||
{
|
||||
return ChunkProviderSettings.Factory.jsonToFactory(generatorSettingsJson).build().biomeSize;
|
||||
return ChunkGeneratorSettings.Factory.jsonToFactory(generatorSettingsJson).build().biomeSize;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,13 +41,7 @@ import net.minecraft.world.WorldEntitySpawner;
|
|||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import net.minecraft.world.chunk.ChunkPrimer;
|
||||
import net.minecraft.world.chunk.IChunkGenerator;
|
||||
import net.minecraft.world.gen.ChunkProviderOverworld;
|
||||
import net.minecraft.world.gen.MapGenBase;
|
||||
import net.minecraft.world.gen.MapGenCaves;
|
||||
import net.minecraft.world.gen.MapGenRavine;
|
||||
import net.minecraft.world.gen.NoiseGeneratorOctaves;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraft.world.gen.*;
|
||||
import net.minecraft.world.gen.feature.WorldGenDungeons;
|
||||
import net.minecraft.world.gen.feature.WorldGenLakes;
|
||||
import net.minecraft.world.gen.structure.MapGenMineshaft;
|
||||
|
@ -61,7 +55,7 @@ import net.minecraftforge.common.MinecraftForge;
|
|||
import net.minecraftforge.event.terraingen.PopulateChunkEvent;
|
||||
import net.minecraftforge.event.terraingen.TerrainGen;
|
||||
|
||||
public class ChunkProviderGenerateBOP implements IChunkGenerator
|
||||
public class ChunkGeneratorOverworldBOP implements IChunkGenerator
|
||||
{
|
||||
private Random rand;
|
||||
private NoiseGeneratorOctaves xyzNoiseGenA;
|
||||
|
@ -89,16 +83,16 @@ public class ChunkProviderGenerateBOP implements IChunkGenerator
|
|||
private final double[] noiseArray;
|
||||
private Map<Biome, TerrainSettings> biomeTerrainSettings;
|
||||
|
||||
public ChunkProviderGenerateBOP(World worldIn, long seed, boolean mapFeaturesEnabled, String chunkProviderSettingsString)
|
||||
public ChunkGeneratorOverworldBOP(World worldIn, long seed, boolean mapFeaturesEnabled, String chunkProviderSettingsString)
|
||||
{
|
||||
System.out.println("ChunkProviderGenerateBOP json: "+chunkProviderSettingsString);
|
||||
System.out.println("ChunkGeneratorOverworldBOP json: "+chunkProviderSettingsString);
|
||||
|
||||
this.world = worldIn;
|
||||
this.mapFeaturesEnabled = mapFeaturesEnabled;
|
||||
this.rand = new Random(seed);
|
||||
|
||||
this.settings = new BOPWorldSettings(chunkProviderSettingsString);
|
||||
System.out.println("ChunkProviderGenerateBOP settings: "+this.settings.toJson());
|
||||
System.out.println("ChunkGeneratorOverworldBOP settings: "+this.settings.toJson());
|
||||
|
||||
// set up structure generators (overridable by forge)
|
||||
this.caveGenerator = TerrainGen.getModdedMapGen(new MapGenCaves(), CAVE);
|
||||
|
@ -681,22 +675,55 @@ public class ChunkProviderGenerateBOP implements IChunkGenerator
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean func_193414_a(World world, String structureName, BlockPos pos)
|
||||
{
|
||||
if (!this.mapFeaturesEnabled)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else if ("Stronghold".equals(structureName) && this.strongholdGenerator != null)
|
||||
{
|
||||
return this.strongholdGenerator.isInsideStructure(pos);
|
||||
}
|
||||
else if ("Mansion".equals(structureName) && this.woodlandMansionGenerator != null)
|
||||
{
|
||||
return this.woodlandMansionGenerator.isInsideStructure(pos);
|
||||
}
|
||||
else if ("Monument".equals(structureName) && this.oceanMonumentGenerator != null)
|
||||
{
|
||||
return this.oceanMonumentGenerator.isInsideStructure(pos);
|
||||
}
|
||||
else if ("Village".equals(structureName) && this.villageGenerator != null)
|
||||
{
|
||||
return this.villageGenerator.isInsideStructure(pos);
|
||||
}
|
||||
else if ("Mineshaft".equals(structureName) && this.mineshaftGenerator != null)
|
||||
{
|
||||
return this.mineshaftGenerator.isInsideStructure(pos);
|
||||
}
|
||||
else
|
||||
{
|
||||
return "Temple".equals(structureName) && this.scatteredFeatureGenerator != null ? this.scatteredFeatureGenerator.isInsideStructure(pos) : false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO: Temporary hack for woodland mansion generation
|
||||
* Either adopt ChunkProviderOverworld properly for this class or wait until
|
||||
* Either adopt ChunkGeneratorOverworld properly for this class or wait until
|
||||
* Forge patches WoodlandMansion properly
|
||||
*/
|
||||
private class FakeMansionChunkProvider extends ChunkProviderOverworld
|
||||
private class FakeMansionChunkProvider extends ChunkGeneratorOverworld
|
||||
{
|
||||
public FakeMansionChunkProvider()
|
||||
{
|
||||
super(ChunkProviderGenerateBOP.this.world, 0, true, "");
|
||||
super(ChunkGeneratorOverworldBOP.this.world, 0, true, "");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setBlocksInChunk(int x, int z, ChunkPrimer primer)
|
||||
{
|
||||
ChunkProviderGenerateBOP.this.setChunkAirStoneWater(x, z, primer);
|
||||
ChunkGeneratorOverworldBOP.this.setChunkAirStoneWater(x, z, primer);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -7,25 +7,19 @@
|
|||
******************************************************************************/
|
||||
package biomesoplenty.common.world;
|
||||
|
||||
import biomesoplenty.api.block.BOPBlocks;
|
||||
import net.minecraft.block.BlockFalling;
|
||||
import net.minecraft.block.material.Material;
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.block.state.pattern.BlockMatcher;
|
||||
import net.minecraft.entity.EnumCreatureType;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.util.EnumFacing;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
import net.minecraft.util.math.ChunkPos;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.biome.Biome;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import net.minecraft.world.chunk.ChunkPrimer;
|
||||
import net.minecraft.world.chunk.IChunkGenerator;
|
||||
import net.minecraft.world.gen.MapGenBase;
|
||||
import net.minecraft.world.gen.MapGenCavesHell;
|
||||
import net.minecraft.world.gen.NoiseGeneratorOctaves;
|
||||
import net.minecraft.world.gen.NoiseGeneratorPerlin;
|
||||
import net.minecraft.world.gen.*;
|
||||
import net.minecraft.world.gen.feature.*;
|
||||
import net.minecraft.world.gen.structure.MapGenNetherBridge;
|
||||
import net.minecraftforge.common.ForgeModContainer;
|
||||
|
@ -581,6 +575,12 @@ public class ChunkProviderGenerateBOPHell implements IChunkGenerator
|
|||
return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.getClosestStrongholdPos(worldIn, position, p_180513_4_) : null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean func_193414_a(World world, String structureName, BlockPos pos)
|
||||
{
|
||||
return "Fortress".equals(structureName) && this.genNetherBridge != null ? this.genNetherBridge.isInsideStructure(pos) : false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void recreateStructures(Chunk chunkIn, int x, int z)
|
||||
{
|
||||
|
|
|
@ -7,13 +7,8 @@
|
|||
******************************************************************************/
|
||||
package biomesoplenty.common.world;
|
||||
|
||||
import biomesoplenty.api.biome.BOPBiomes;
|
||||
import net.minecraft.init.Biomes;
|
||||
import net.minecraft.world.WorldProviderHell;
|
||||
import net.minecraft.world.biome.BiomeProvider;
|
||||
import net.minecraft.world.biome.BiomeProviderSingle;
|
||||
import net.minecraft.world.chunk.IChunkGenerator;
|
||||
import net.minecraft.world.gen.ChunkProviderHell;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
|
||||
public class WorldProviderBOPHell extends WorldProviderHell
|
||||
{
|
||||
|
|
|
@ -14,7 +14,7 @@ import net.minecraft.client.gui.GuiCreateWorld;
|
|||
import net.minecraft.world.World;
|
||||
import net.minecraft.world.WorldType;
|
||||
import net.minecraft.world.biome.BiomeProvider;
|
||||
import net.minecraft.world.chunk.IChunkGenerator;
|
||||
import net.minecraft.world.gen.IChunkGenerator;
|
||||
import net.minecraftforge.fml.relauncher.Side;
|
||||
import net.minecraftforge.fml.relauncher.SideOnly;
|
||||
|
||||
|
@ -23,7 +23,6 @@ public class WorldTypeBOP extends WorldType
|
|||
public WorldTypeBOP()
|
||||
{
|
||||
super("BIOMESOP");
|
||||
|
||||
this.setNotificationData();
|
||||
}
|
||||
|
||||
|
@ -36,8 +35,7 @@ public class WorldTypeBOP extends WorldType
|
|||
@Override
|
||||
public IChunkGenerator getChunkGenerator(World world, String generatorOptions)
|
||||
{
|
||||
return new ChunkProviderGenerateBOP(world, world.getSeed(), world.getWorldInfo().isMapFeaturesEnabled(), generatorOptions);
|
||||
//return new ChunkProviderGenerateVanilla(world, world.getSeed(), world.getWorldInfo().isMapFeaturesEnabled(), generatorOptions);
|
||||
return new ChunkGeneratorOverworldBOP(world, world.getSeed(), world.getWorldInfo().isMapFeaturesEnabled(), generatorOptions);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -16,7 +16,6 @@ import org.apache.logging.log4j.Logger;
|
|||
|
||||
import biomesoplenty.common.command.BOPCommand;
|
||||
import biomesoplenty.common.handler.GuiHandler;
|
||||
import biomesoplenty.common.init.ModAchievements;
|
||||
import biomesoplenty.common.init.ModBiomes;
|
||||
import biomesoplenty.common.init.ModBlockQueries;
|
||||
import biomesoplenty.common.init.ModBlocks;
|
||||
|
@ -93,7 +92,6 @@ public class BiomesOPlenty
|
|||
ModHandlers.init();
|
||||
|
||||
ModCrafting.init();
|
||||
ModAchievements.init();
|
||||
|
||||
proxy.registerRenderers();
|
||||
}
|
||||
|
|
|
@ -161,7 +161,7 @@ public class ClientProxy extends CommonProxy
|
|||
if (item.getHasSubtypes())
|
||||
{
|
||||
NonNullList<ItemStack> subItems = NonNullList.create();
|
||||
item.getSubItems(item, CreativeTabBOP.instance, subItems);
|
||||
item.getSubItems(CreativeTabBOP.instance, subItems);
|
||||
for (ItemStack subItem : subItems)
|
||||
{
|
||||
String subItemName = item.getUnlocalizedName(subItem);
|
||||
|
|
Loading…
Reference in New Issue