Skip to content
This repository has been archived by the owner on Sep 9, 2022. It is now read-only.

Commit

Permalink
added small ores
Browse files Browse the repository at this point in the history
+fixed heated water pump

Signed-off-by: bartimaeusnek <[email protected]>
  • Loading branch information
bartimaeusnek committed Nov 2, 2019
1 parent 5c6f706 commit 381122f
Show file tree
Hide file tree
Showing 9 changed files with 196 additions and 20 deletions.
2 changes: 1 addition & 1 deletion build.properties
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
mc_version=1.7.10
majorUpdate=0
minorUpdate=5
buildNumber=2_pre24
buildNumber=2_pre25
APIVersion=8
ic2.version=2.2.828-experimental
gregtech.version=5.09.32.36
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@
package com.github.bartimaeusnek.bartworks.client.renderer;

import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGeneratedOreTE;
import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGeneratedSmallOreTE;
import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_SmallOres;
import cpw.mods.fml.client.registry.ISimpleBlockRenderingHandler;
import cpw.mods.fml.client.registry.RenderingRegistry;
import net.minecraft.block.Block;
Expand All @@ -39,7 +41,7 @@ public class BW_Renderer_Block_Ores implements ISimpleBlockRenderingHandler {

@Override
public void renderInventoryBlock(Block aBlock, int aMeta, int modelId, RenderBlocks aRenderer) {
BW_MetaGeneratedOreTE tTileEntity = new BW_MetaGeneratedOreTE();
BW_MetaGeneratedOreTE tTileEntity = aBlock instanceof BW_MetaGenerated_SmallOres ? new BW_MetaGeneratedSmallOreTE() : new BW_MetaGeneratedOreTE();
tTileEntity.mMetaData = (short) aMeta;
aBlock.setBlockBoundsForItemRender();
aRenderer.setRenderBoundsFromBlock(aBlock);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,19 @@ public boolean canInteractWith(EntityPlayer p_75145_1_) {

@Override
public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int p_82846_2_) {
Slot slot = this.getSlot(p_82846_2_);
if (p_82846_2_ == 0 && slot.getStack() != null) {
for (int i = 25; i < this.inventorySlots.size(); i++) {
if (((Slot) this.inventorySlots.get(i)).getStack() == null) {
((Slot) this.inventorySlots.get(i)).putStack(slot.getStack());
slot.putStack(null);
}
}
}
else if (p_82846_2_ > 1 && slot.getStack() != null && ((Slot) this.inventorySlots.get(0)).getStack() == null && ((Slot) this.inventorySlots.get(0)).isItemValid(slot.getStack())){
((Slot) this.inventorySlots.get(0)).putStack(slot.getStack());
slot.putStack(null);
}
return null;
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
package com.github.bartimaeusnek.bartworks.system.material;

import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ITexture;
import gregtech.api.objects.GT_CopiedBlockTexture;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.api.objects.XSTR;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Block_Ores_Abstract;
import net.minecraft.block.Block;
import net.minecraft.init.Blocks;
import net.minecraft.item.ItemStack;

import java.util.ArrayList;
import java.util.Random;

public class BW_MetaGeneratedSmallOreTE extends BW_MetaGeneratedOreTE {

@Override
public ArrayList<ItemStack> getDrops(Block aDroppedOre) {
ArrayList<ItemStack> rList = new ArrayList<>();
Materials aMaterial = Werkstoff.werkstoffHashMap.get(this.mMetaData).getBridgeMaterial();

if (aMaterial != null) {
Random tRandom = new XSTR(this.xCoord ^ this.yCoord ^ this.zCoord);
ArrayList<ItemStack> tSelector = new ArrayList<>();

ItemStack tStack = GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L), 1L);
if (tStack != null) {
for (int i = 0; i < 1; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L), 1L);
if (tStack != null) {
for (int i = 0; i < 2; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L);
if (tStack != null) {
for (int i = 0; i < 12; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1L), 1L);
if (tStack != null) {
for (int i = 0; i < 5; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.crushed, aMaterial, 1L);
if (tStack != null) {
for (int i = 0; i < 10; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L), 1L);
if (tStack != null) {
for (int i = 0; i < 5; i++) {
tSelector.add(tStack);
}
}
tStack = GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial, 1L);
if (tStack != null) {
for (int i = 0; i < 10; i++) {
tSelector.add(tStack);
}
}
if (tSelector.size() > 0) {
rList.add(GT_Utility.copyAmount(1L, tSelector.get(tRandom.nextInt(tSelector.size()))));
}
if (tRandom.nextInt(3) > 1) {
rList.add(GT_OreDictUnificator.get(tRandom.nextInt(3) > 0 ? OrePrefixes.dustImpure : OrePrefixes.dust, Materials.Stone, 1L));
}
}
return rList;
}

@Override
public ITexture[] getTexture(Block aBlock, byte aSide) {
Werkstoff aMaterial = Werkstoff.werkstoffHashMap.get(this.mMetaData);
if ((aMaterial != null)) {
GT_RenderedTexture aIconSet = new GT_RenderedTexture(aMaterial.getTexSet().mTextures[OrePrefixes.oreSmall.mTextureIndex], aMaterial.getRGBA());
return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), aIconSet};
}
return new ITexture[]{new GT_CopiedBlockTexture(Blocks.stone, 0, 0), new GT_RenderedTexture(gregtech.api.enums.TextureSet.SET_NONE.mTextures[OrePrefixes.oreSmall.mTextureIndex])};
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -56,13 +56,16 @@ public BW_MetaGenerated_Ores(Material p_i45386_1_, Class<? extends TileEntity> t
this.setResistance(5.0F);
this.setBlockTextureName("stone");
this.setCreativeTab(metaTab);
for (Werkstoff w : Werkstoff.werkstoffHashSet) {
if (w != null) {
if ((w.getGenerationFeatures().toGenerate & 0b1000) == 0 || ((w.getGenerationFeatures().blacklist & 0b1000) != 0))
continue;
GT_ModHandler.addValuableOre(this, w.getmID(), 1);
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + w.getmID() + ".name", w.getDefaultName() + OrePrefixes.ore.mLocalizedMaterialPost);
}
for (Werkstoff w : Werkstoff.werkstoffHashSet)
doRegistrationStuff(w);
}

protected void doRegistrationStuff(Werkstoff w){
if (w != null) {
if ((w.getGenerationFeatures().toGenerate & 0b1000) == 0 || ((w.getGenerationFeatures().blacklist & 0b1000) != 0))
return;
GT_ModHandler.addValuableOre(this, w.getmID(), 1);
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + w.getmID() + ".name", w.getDefaultName() + OrePrefixes.ore.mLocalizedMaterialPost);
}
}

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
package com.github.bartimaeusnek.bartworks.system.material;

import gregtech.api.enums.OrePrefixes;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import net.minecraft.block.Block;
import net.minecraft.block.material.Material;
import net.minecraft.init.Blocks;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.world.World;

import java.util.Arrays;

public class BW_MetaGenerated_SmallOres extends BW_MetaGenerated_Ores {
public BW_MetaGenerated_SmallOres(Material p_i45386_1_, Class<? extends TileEntity> tileEntity, String blockName) {
super(p_i45386_1_, tileEntity, blockName);
}

@Override
protected void doRegistrationStuff(Werkstoff w) {
if (w != null) {
if ((w.getGenerationFeatures().toGenerate & 0b1000) == 0 || ((w.getGenerationFeatures().blacklist & 0b1000) != 0))
return;
GT_ModHandler.addValuableOre(this, w.getmID(), 1);
GT_LanguageManager.addStringLocalization(this.getUnlocalizedName() + "." + w.getmID() + ".name", OrePrefixes.oreSmall.mLocalizedMaterialPre + w.getDefaultName() + OrePrefixes.oreSmall.mLocalizedMaterialPost);
}
}

@Override
public String getUnlocalizedName() {
return "bw.blockores.02";
}

public static boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData, boolean air, Block block, int[] aBlockMeta) {
if (!air) {
aY = Math.min(aWorld.getActualHeight(), Math.max(aY, 1));
}

Block tBlock = aWorld.getBlock(aX, aY, aZ);
Block tOreBlock = WerkstoffLoader.BWSmallOres;
if (aMetaData < 0 || tBlock == Blocks.air && !air) {
return false;
} else {

if (Block.getIdFromBlock(tBlock) != Block.getIdFromBlock(block)) {
return false;
}
final int aaY = aY;
if (Arrays.stream(aBlockMeta).noneMatch(e -> e == aWorld.getBlockMetadata(aX, aaY, aZ))) {
return false;
}

aWorld.setBlock(aX, aY, aZ, tOreBlock, aMetaData, 0);
TileEntity tTileEntity = aWorld.getTileEntity(aX, aY, aZ);
if (tTileEntity instanceof BW_MetaGeneratedOreTE) {
((BW_MetaGeneratedOreTE) tTileEntity).mMetaData = (short) aMetaData;
}

return true;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Block_Ores;
import gregtech.common.blocks.GT_Block_Ores_Abstract;
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -737,7 +737,7 @@ private WerkstoffLoader() {}
"",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
47,
TextureSet.SET_METALLIC
//No Byproducts
Expand Down Expand Up @@ -808,7 +808,7 @@ private WerkstoffLoader() {}
"",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
53,
TextureSet.SET_METALLIC
//No Byproducts
Expand Down Expand Up @@ -896,7 +896,7 @@ private WerkstoffLoader() {}
"Leach Residue",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
60,
TextureSet.SET_ROUGH
//No Byproducts
Expand Down Expand Up @@ -1007,7 +1007,7 @@ private WerkstoffLoader() {}
"???",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
69,
TextureSet.SET_ROUGH
//No Byproducts
Expand All @@ -1018,7 +1018,7 @@ private WerkstoffLoader() {}
"???",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
70,
TextureSet.SET_ROUGH
//No Byproducts
Expand Down Expand Up @@ -1119,7 +1119,7 @@ private WerkstoffLoader() {}
"Crude Rhodium Metal",
new Werkstoff.Stats(),
Werkstoff.Types.MIXTURE,
new Werkstoff.GenerationFeatures().disable().onlyDust(),
new Werkstoff.GenerationFeatures(),
79,
TextureSet.SET_DULL
);
Expand Down Expand Up @@ -1265,6 +1265,7 @@ private WerkstoffLoader() {}
public static HashBiMap<Werkstoff, Fluid> fluids = HashBiMap.create();
public static HashBiMap<Werkstoff, Fluid> molten = HashBiMap.create();
public static Block BWOres;
public static Block BWSmallOres;
public boolean registered;

public static Werkstoff getWerkstoff(String Name){
Expand All @@ -1290,6 +1291,8 @@ public static ItemStack getCorrespondingItemStack(OrePrefixes orePrefixes, Werks
}
if (orePrefixes == ore)
return new ItemStack(WerkstoffLoader.BWOres, amount, werkstoff.getmID());
if (orePrefixes == oreSmall)
return new ItemStack(WerkstoffLoader.BWSmallOres, amount, werkstoff.getmID());
if (WerkstoffLoader.items.get(orePrefixes) == null)
new Exception("NO SUCH ITEM!"+orePrefixes+werkstoff.getDefaultName()).printStackTrace();
return new ItemStack(WerkstoffLoader.items.get(orePrefixes), amount, werkstoff.getmID()).copy();
Expand Down Expand Up @@ -1542,7 +1545,9 @@ void gameRegistryHandler(){
RenderingRegistry.registerBlockHandler(BW_Renderer_Block_Ores.INSTANCE);
GameRegistry.registerTileEntity(BW_MetaGeneratedOreTE.class, "bw.blockoresTE");
WerkstoffLoader.BWOres = new BW_MetaGenerated_Ores(Material.rock, BW_MetaGeneratedOreTE.class, "bw.blockores");
WerkstoffLoader.BWSmallOres = new BW_MetaGenerated_SmallOres(Material.rock, BW_MetaGeneratedSmallOreTE.class, "bw.blockoresSmall");
GameRegistry.registerBlock(WerkstoffLoader.BWOres, BW_MetaGeneratedOre_Item.class, "bw.blockores.01");
GameRegistry.registerBlock(WerkstoffLoader.BWSmallOres, BW_MetaGeneratedOre_Item.class, "bw.blockores.02");
new GTMetaItemEnhancer();
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@
package com.github.bartimaeusnek.bartworks.system.oregen;

import com.github.bartimaeusnek.bartworks.MainMod;
import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGeneratedOreTE;
import com.github.bartimaeusnek.bartworks.system.material.BW_MetaGenerated_Ores;
import com.github.bartimaeusnek.bartworks.system.material.Werkstoff;
import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader;
import com.github.bartimaeusnek.bartworks.system.material.*;
import com.github.bartimaeusnek.bartworks.util.MurmurHash3;
import com.google.common.collect.ArrayListMultimap;
import gregtech.api.GregTech_API;
Expand Down Expand Up @@ -177,7 +174,7 @@ public boolean setOreBlock(World aWorld, int aX, int aY, int aZ, int aMetaData,
return true;

if ((aMetaData == this.mSporadicMeta && (this.bwOres & 0b0001) != 0) || (aMetaData == this.mBetweenMeta && (this.bwOres & 0b0010) != 0) || (aMetaData == this.mPrimaryMeta && (this.bwOres & 0b1000) != 0) || (aMetaData == this.mSecondaryMeta && (this.bwOres & 0b0100) != 0)) {
return BW_MetaGenerated_Ores.setOreBlock(aWorld, aX, aY, aZ, aMetaData, false, this.getDefaultBlockToReplace(),this.getDefaultDamageToReplace());
return isSmallOre ? BW_MetaGenerated_SmallOres.setOreBlock(aWorld, aX, aY, aZ, aMetaData, false, this.getDefaultBlockToReplace(),this.getDefaultDamageToReplace()) : BW_MetaGenerated_Ores.setOreBlock(aWorld, aX, aY, aZ, aMetaData, false, this.getDefaultBlockToReplace(),this.getDefaultDamageToReplace());
}

return this.setGTOreBlockSpace(aWorld, aX, aY, aZ, aMetaData, this.getDefaultBlockToReplace());
Expand Down

0 comments on commit 381122f

Please sign in to comment.