Skip to content

Commit 9c132e8

Browse files
Working fine now
1 parent 3f759a1 commit 9c132e8

File tree

5 files changed

+123
-155
lines changed

5 files changed

+123
-155
lines changed

build.gradle

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ version = project.mod_version
2424

2525
loom {
2626
noIntermediateMappings()
27-
customMinecraftMetadata.set("https://github.com/Turnip-Labs/bta-manifest-repo/releases/download/v${project.bta_version}/${project.bta_version}.json")
27+
customMinecraftMetadata.set("https://downloads.betterthanadventure.net/bta-client/${project.bta_channel}/v${project.bta_version}/manifest.json")
2828
}
2929

3030
repositories {
@@ -70,14 +70,6 @@ repositories {
7070
}
7171
metadataSources { artifact() }
7272
}
73-
ivy {
74-
url = "https://github.com/Turnip-Labs"
75-
patternLayout {
76-
artifact "[organisation]/releases/download/v[revision]/[module]-[revision].jar"
77-
m2compatible = true
78-
}
79-
metadataSources { artifact() }
80-
}
8173
ivy {
8274
url = "https://github.com/Turnip-Labs"
8375
patternLayout {
@@ -86,14 +78,6 @@ repositories {
8678
}
8779
metadataSources { artifact() }
8880
}
89-
ivy {
90-
url = "https://github.com/Turnip-Labs"
91-
patternLayout {
92-
artifact "[organisation]/releases/download/[revision]/[module]-bta-[revision].jar"
93-
m2compatible = true
94-
}
95-
metadataSources { artifact() }
96-
}
9781
ivy {
9882
url = "https://piston-data.mojang.com"
9983
patternLayout {

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
org.gradle.jvmargs=-Xmx2G
22

33
# BTA
4-
bta_version=7.3-pre4
5-
bta_channel=prerelease
4+
bta_version=7.3
5+
bta_channel=release
66

77
# Loader & Mod Menu
88
loader_version=0.15.6-bta.7

src/main/java/fl205/ironfurnaces/IronFurnaces.java

Lines changed: 86 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import net.minecraft.core.block.tag.BlockTags;
1515
import net.minecraft.core.item.Items;
1616
import net.minecraft.core.sound.BlockSounds;
17+
import net.minecraft.core.util.collection.NamespaceID;
18+
import net.minecraft.core.util.helper.Side;
1719
import org.slf4j.Logger;
1820
import org.slf4j.LoggerFactory;
1921
import turniplabs.halplibe.helper.BlockBuilder;
@@ -63,111 +65,94 @@ public class IronFurnaces implements ModInitializer, GameStartEntrypoint, Recipe
6365

6466
// Blocks
6567

66-
static BlockBuilder furnace = new BlockBuilder(MOD_ID)
68+
static BlockBuilder idleFurnaceBuilder = new BlockBuilder(MOD_ID)
6769
.setBlockSound(BlockSounds.METAL)
6870
.setHardness(5.0F)
6971
.setResistance(10.0F)
7072
.setImmovable()
7173
.setTags(BlockTags.MINEABLE_BY_PICKAXE);
7274

73-
public static final Block<?> furnaceIronIdle = furnace
74-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
75-
.withTextures(
76-
"ironfurnaces:block/ironfurnacetop",
77-
"ironfurnaces:block/ironfurnacebottom",
78-
"ironfurnaces:block/ironfurnaceidlefront",
79-
"ironfurnaces:block/ironfurnaceside",
80-
"ironfurnaces:block/ironfurnaceside",
81-
"ironfurnaces:block/ironfurnaceside"))
75+
static BlockBuilder activeFurnaceBuilder = new BlockBuilder(MOD_ID)
76+
.setBlockSound(BlockSounds.METAL)
77+
.setHardness(5.0F)
78+
.setResistance(10.0F)
79+
.setLuminance(13)
80+
.setImmovable()
81+
.setTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE);
82+
83+
@SuppressWarnings("unused")
84+
public static final Block<?> furnaceIronIdle = idleFurnaceBuilder
85+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
86+
.setTex(0, "ironfurnaces:block/ironfurnacetop", Side.TOP)
87+
.setTex(0, "ironfurnaces:block/ironfurnacebottom", Side.BOTTOM)
88+
.setTex(0, "ironfurnaces:block/ironfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
89+
.setTex(0, "ironfurnaces:block/ironfurnaceidlefront", Side.NORTH))
8290
.build("furnace.iron.idle", "furnace_iron_idle", config.getInt("IDs.ironFurnaceIdleID"), b -> new BlockLogicIronFurnace(b, false));
8391

84-
public static final Block<?> furnaceIronActive = furnace
85-
.setLuminance(13)
86-
.setTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE)
87-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
88-
.withTextures(
89-
"ironfurnaces:block/ironfurnacetop",
90-
"ironfurnaces:block/ironfurnacebottom",
91-
"ironfurnaces:block/ironfurnaceactivefront",
92-
"ironfurnaces:block/ironfurnaceside",
93-
"ironfurnaces:block/ironfurnaceside",
94-
"ironfurnaces:block/ironfurnaceside"))
95-
.build("furnace.iron.active", "furnace_iron_active", furnaceIronIdle.id() + 1, b -> new BlockLogicIronFurnace(b, true));
96-
97-
98-
public static final Block<?> furnaceGoldIdle = furnace
99-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
100-
.withTextures(
101-
"ironfurnaces:block/goldfurnacetop",
102-
"ironfurnaces:block/goldfurnacebottom",
103-
"ironfurnaces:block/goldfurnaceidlefront",
104-
"ironfurnaces:block/goldfurnaceside",
105-
"ironfurnaces:block/goldfurnaceside",
106-
"ironfurnaces:block/goldfurnaceside"))
107-
.build("furnace.gold.idle", "furnace_golf_idle", config.getInt("IDs.goldFurnaceIdleID"), b -> new BlockLogicGoldFurnace(b, false));
108-
109-
public static final Block<?> furnaceGoldActive = furnace
110-
.setLuminance(13)
111-
.setTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE)
112-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
113-
.withTextures(
114-
"ironfurnaces:block/goldfurnacetop",
115-
"ironfurnaces:block/goldfurnacebottom",
116-
"ironfurnaces:block/goldfurnaceactivefront",
117-
"ironfurnaces:block/goldfurnaceside",
118-
"ironfurnaces:block/goldfurnaceside",
119-
"ironfurnaces:block/goldfurnaceside"))
120-
.build("furnace.gold.active", "furnace.gold.active", furnaceGoldIdle.id() + 1, b -> new BlockLogicGoldFurnace(b, true));
121-
122-
public static final Block<?> furnaceDiamondIdle = furnace
123-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
124-
.withTextures(
125-
"ironfurnaces:block/diamondfurnacetop",
126-
"ironfurnaces:block/diamondfurnacebottom",
127-
"ironfurnaces:block/diamondfurnaceidlefront",
128-
"ironfurnaces:block/diamondfurnaceside",
129-
"ironfurnaces:block/diamondfurnaceside",
130-
"ironfurnaces:block/diamondfurnaceside"))
131-
.build("furnace.diamond.idle", "furnace_diamond_idle", config.getInt("IDs.diamondFurnaceIdleID"), b -> new BlockLogicDiamondFurnace(b, false));
132-
133-
public static final Block<?> furnaceDiamondActive = furnace
134-
.setLuminance(13)
135-
.setTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE)
136-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
137-
.withTextures(
138-
"ironfurnaces:block/diamondfurnacetop",
139-
"ironfurnaces:block/diamondfurnacebottom",
140-
"ironfurnaces:block/diamondfurnaceactivefront",
141-
"ironfurnaces:block/diamondfurnaceside",
142-
"ironfurnaces:block/diamondfurnaceside",
143-
"ironfurnaces:block/diamondfurnaceside"))
144-
.build("furnace.diamond.active", "furnace_diamond_active", furnaceDiamondIdle.id() + 1, b -> new BlockLogicDiamondFurnace(b, true));
145-
146-
public static final Block<?> furnaceSteelIdle = furnace
147-
.setResistance(2000.0F)
148-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
149-
.withTextures(
150-
"ironfurnaces:block/steelfurnacetop",
151-
"ironfurnaces:block/steelfurnacebottom",
152-
"ironfurnaces:block/steelfurnaceidlefront",
153-
"ironfurnaces:block/steelfurnaceside",
154-
"ironfurnaces:block/steelfurnaceside",
155-
"ironfurnaces:block/steelfurnaceside"))
156-
.build("furnace.steel.idle", "furnace_steel_idle", config.getInt("IDs.steelFurnaceIdleID"), b -> new BlockLogicSteelFurnace(b, false));
157-
158-
public static final Block<?> furnaceSteelActive = furnace
159-
.setResistance(2000.0F)
160-
.setLuminance(13)
161-
.setTags(BlockTags.NOT_IN_CREATIVE_MENU, BlockTags.MINEABLE_BY_PICKAXE)
162-
.setBlockModel(block -> new BlockModelHorizontalRotation<>(block)
163-
.withTextures(
164-
"ironfurnaces:block/steelfurnacetop",
165-
"ironfurnaces:block/steelfurnacebottom",
166-
"ironfurnaces:block/steelfurnaceactivefront",
167-
"ironfurnaces:block/steelfurnaceside",
168-
"ironfurnaces:block/steelfurnaceside",
169-
"ironfurnaces:block/steelfurnaceside"))
170-
.build("furnace.steel.active", "furnace_steel_active", furnaceSteelIdle.id() + 1,b -> new BlockLogicSteelFurnace(b, true));
92+
@SuppressWarnings("unused")
93+
public static final Block<?> furnaceIronActive = activeFurnaceBuilder
94+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
95+
.setTex(0, "ironfurnaces:block/ironfurnacetop", Side.TOP)
96+
.setTex(0, "ironfurnaces:block/ironfurnacebottom", Side.BOTTOM)
97+
.setTex(0, "ironfurnaces:block/ironfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
98+
.setTex(0, "ironfurnaces:block/ironfurnaceactivefront", Side.NORTH))
99+
.build("furnace.iron.active", "furnace_iron_active", furnaceIronIdle.id() + 1, b -> new BlockLogicIronFurnace(b, true));
100+
101+
@SuppressWarnings("unused")
102+
public static final Block<?> furnaceGoldIdle = idleFurnaceBuilder
103+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
104+
.setTex(0, "ironfurnaces:block/goldfurnacetop", Side.TOP)
105+
.setTex(0, "ironfurnaces:block/goldfurnacebottom", Side.BOTTOM)
106+
.setTex(0, "ironfurnaces:block/goldfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
107+
.setTex(0, "ironfurnaces:block/goldfurnaceidlefront", Side.NORTH))
108+
.build("furnace.gold.idle", "furnace_gold_idle", config.getInt("IDs.goldFurnaceIdleID"), b -> new BlockLogicGoldFurnace(b, false));
109+
110+
@SuppressWarnings("unused")
111+
public static final Block<?> furnaceGoldActive = activeFurnaceBuilder
112+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
113+
.setTex(0, "ironfurnaces:block/goldfurnacetop", Side.TOP)
114+
.setTex(0, "ironfurnaces:block/goldfurnacebottom", Side.BOTTOM)
115+
.setTex(0, "ironfurnaces:block/goldfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
116+
.setTex(0, "ironfurnaces:block/goldfurnaceactivefront", Side.NORTH))
117+
.build("furnace.gold.active", "furnace_gold_active", furnaceGoldIdle.id() + 1, b -> new BlockLogicGoldFurnace(b, true));
118+
119+
@SuppressWarnings("unused")
120+
public static final Block<?> furnaceDiamondIdle = idleFurnaceBuilder
121+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
122+
.setTex(0, "ironfurnaces:block/diamondfurnacetop", Side.TOP)
123+
.setTex(0, "ironfurnaces:block/diamondfurnacebottom", Side.BOTTOM)
124+
.setTex(0, "ironfurnaces:block/diamondfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
125+
.setTex(0, "ironfurnaces:block/diamondfurnaceidlefront", Side.NORTH))
126+
.build("furnace.diamond.idle", "furnace_diamond_idle", config.getInt("IDs.diamondFurnaceIdleID"), b -> new BlockLogicDiamondFurnace(b, false));
127+
128+
@SuppressWarnings("unused")
129+
public static final Block<?> furnaceDiamondActive = activeFurnaceBuilder
130+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
131+
.setTex(0, "ironfurnaces:block/diamondfurnacetop", Side.TOP)
132+
.setTex(0, "ironfurnaces:block/diamondfurnacebottom", Side.BOTTOM)
133+
.setTex(0, "ironfurnaces:block/diamondfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
134+
.setTex(0, "ironfurnaces:block/diamondfurnaceactivefront", Side.NORTH))
135+
.build("furnace.diamond.active", "furnace_diamond_active", furnaceDiamondIdle.id() + 1, b -> new BlockLogicDiamondFurnace(b, true));
136+
137+
@SuppressWarnings("unused")
138+
public static final Block<?> furnaceSteelIdle = idleFurnaceBuilder
139+
.setResistance(2000.0F)
140+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
141+
.setTex(0, "ironfurnaces:block/steelfurnacetop", Side.TOP)
142+
.setTex(0, "ironfurnaces:block/steelfurnacebottom", Side.BOTTOM)
143+
.setTex(0, "ironfurnaces:block/steelfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
144+
.setTex(0, "ironfurnaces:block/steelfurnaceidlefront", Side.NORTH))
145+
.build("furnace.steel.idle", "furnace_steel_idle", config.getInt("IDs.steelFurnaceIdleID"), b -> new BlockLogicSteelFurnace(b, false));
146+
147+
@SuppressWarnings("unused")
148+
public static final Block<?> furnaceSteelActive = activeFurnaceBuilder
149+
.setResistance(2000.0F)
150+
.setBlockModel(b -> new BlockModelHorizontalRotation<>(b)
151+
.setTex(0, "ironfurnaces:block/steelfurnacetop", Side.TOP)
152+
.setTex(0, "ironfurnaces:block/steelfurnacebottom", Side.BOTTOM)
153+
.setTex(0, "ironfurnaces:block/steelfurnaceside", Side.WEST, Side.EAST, Side.SOUTH)
154+
.setTex(0, "ironfurnaces:block/steelfurnaceactivefront", Side.NORTH))
155+
.build("furnace.steel.active", "furnace_steel_active", furnaceSteelIdle.id() + 1, b -> new BlockLogicSteelFurnace(b, true));
171156

172157
@Override
173158
public void onInitialize() {
@@ -177,10 +162,10 @@ public void onInitialize() {
177162
@Override
178163
public void beforeGameStart() {
179164
// Tile Entities
180-
EntityHelper.createBlockEntity(TileEntityIronFurnace.class, "Iron Furnace");
181-
EntityHelper.createBlockEntity(TileEntityGoldFurnace.class, "Gold Furnace");
182-
EntityHelper.createBlockEntity(TileEntityDiamondFurnace.class, "Diamond Furnace");
183-
EntityHelper.createBlockEntity(TileEntitySteelFurnace.class, "Steel Furnace");
165+
EntityHelper.createTileEntity(TileEntityIronFurnace.class, new NamespaceID(MOD_ID, "furnace_iron"));
166+
EntityHelper.createTileEntity(TileEntityGoldFurnace.class, new NamespaceID(MOD_ID, "furnace_gold"));
167+
EntityHelper.createTileEntity(TileEntityDiamondFurnace.class, new NamespaceID(MOD_ID, "furnace_diamond"));
168+
EntityHelper.createTileEntity(TileEntitySteelFurnace.class, new NamespaceID(MOD_ID, "furnace_steel"));
184169
}
185170

186171
@Override

src/main/java/fl205/ironfurnaces/blocks/BlockLogicCustomFurnace.java

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@
2020

2121
public abstract class BlockLogicCustomFurnace extends BlockLogicRotatable {
2222
protected final boolean isActive;
23-
//protected Random furnaceRand = new Random();
24-
protected static boolean keepFurnaceInventory = false;
23+
public static boolean keepFurnaceInventory = false;
2524
protected final int activeId;
2625
protected final int idleID;
2726
public BlockLogicCustomFurnace(Block<?> block, boolean isActive, int activeID, int idleID) {
@@ -109,36 +108,4 @@ public static void updateFurnaceBlockState(boolean lit, @NotNull World world, in
109108
world.setTileEntity(x, y, z, tileentity);
110109
}
111110
}
112-
/*
113-
public void onBlockRemoved(World world, int x, int y, int z, int data) {
114-
if (!keepFurnaceInventory) {
115-
TileEntityCustomFurnace tileEntityCustomFurnace = (TileEntityCustomFurnace) world.getBlockTileEntity(x, y, z);
116-
117-
for (int l = 0; l < tileEntityCustomFurnace.getSizeInventory(); ++l) {
118-
ItemStack itemstack = tileEntityCustomFurnace.getStackInSlot(l);
119-
if (itemstack != null) {
120-
float f = this.furnaceRand.nextFloat() * 0.8F + 0.1F;
121-
float f1 = this.furnaceRand.nextFloat() * 0.8F + 0.1F;
122-
float f2 = this.furnaceRand.nextFloat() * 0.8F + 0.1F;
123-
124-
while (itemstack.stackSize > 0) {
125-
int i1 = this.furnaceRand.nextInt(21) + 10;
126-
if (i1 > itemstack.stackSize) {
127-
i1 = itemstack.stackSize;
128-
}
129-
130-
itemstack.stackSize -= i1;
131-
EntityItem entityitem = new EntityItem(world, (float) x + f, (float) y + f1, (float) z + f2, new ItemStack(itemstack.itemID, i1, itemstack.getMetadata()));
132-
float f3 = 0.05F;
133-
entityitem.xd = (float) this.furnaceRand.nextGaussian() * f3;
134-
entityitem.yd = (float) this.furnaceRand.nextGaussian() * f3 + 0.2F;
135-
entityitem.zd = (float) this.furnaceRand.nextGaussian() * f3;
136-
world.entityJoinedWorld(entityitem);
137-
}
138-
}
139-
}
140-
}
141-
142-
super.onBlockRemoved(world, x, y, z, data);
143-
}*/
144111
}

src/main/java/fl205/ironfurnaces/tileEntities/TileEntityCustomFurnace.java

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,21 @@
22

33
import fl205.ironfurnaces.blocks.BlockLogicCustomFurnace;
44
import java.util.List;
5+
import java.util.Random;
56

67
import net.minecraft.core.block.Block;
78
import net.minecraft.core.block.Blocks;
89
import net.minecraft.core.block.entity.TileEntityFurnace;
910
import net.minecraft.core.crafting.LookupFuelFurnace;
1011
import net.minecraft.core.data.registry.Registries;
1112
import net.minecraft.core.data.registry.recipe.entry.RecipeEntryFurnace;
13+
import net.minecraft.core.entity.EntityItem;
1214
import net.minecraft.core.item.Items;
1315
import net.minecraft.core.item.ItemStack;
16+
import net.minecraft.core.world.World;
1417

1518
public abstract class TileEntityCustomFurnace extends TileEntityFurnace {
16-
19+
private final Random random = new Random();
1720
protected final int speedModifier;
1821
protected final int fuelYieldModifier;
1922
protected final Block<?> furnaceIdle;
@@ -121,4 +124,33 @@ protected void updateFurnace(boolean forceLit) {
121124
private int getBurnTimeFromItem(ItemStack itemStack) {
122125
return itemStack == null ? 0 : ((fuelYieldModifier * (LookupFuelFurnace.instance.getFuelYield(itemStack.getItem().id)))/speedModifier);
123126
}
127+
128+
public void dropContents(World world, int x, int y, int z) {
129+
if (!BlockLogicCustomFurnace.keepFurnaceInventory) {
130+
for(int l = 0; l < this.getContainerSize(); ++l) {
131+
ItemStack itemstack = this.getItem(l);
132+
if (itemstack != null) {
133+
float f = this.random.nextFloat() * 0.8F + 0.1F;
134+
float f1 = this.random.nextFloat() * 0.8F + 0.1F;
135+
float f2 = this.random.nextFloat() * 0.8F + 0.1F;
136+
137+
while(itemstack.stackSize > 0) {
138+
int i1 = this.random.nextInt(21) + 10;
139+
if (i1 > itemstack.stackSize) {
140+
i1 = itemstack.stackSize;
141+
}
142+
143+
itemstack.stackSize -= i1;
144+
EntityItem entityItem = new EntityItem(world, (float)x + f, (float)y + f1, (float)z + f2, new ItemStack(itemstack.itemID, i1, itemstack.getMetadata()));
145+
float f3 = 0.05F;
146+
entityItem.xd = (float)this.random.nextGaussian() * f3;
147+
entityItem.yd = (float)this.random.nextGaussian() * f3 + 0.2F;
148+
entityItem.zd = (float)this.random.nextGaussian() * f3;
149+
world.entityJoinedWorld(entityItem);
150+
}
151+
}
152+
}
153+
}
154+
155+
}
124156
}

0 commit comments

Comments
 (0)