Added shapeless recipes for coal and redstone blocks, made coal blocks be usable in furnaces and small UI fix for vanilla
parent
0f391bb92e
commit
737d8d66f8
|
@ -18,14 +18,16 @@ public class MainMod implements ModInitializer {
|
|||
|
||||
if (ModConfig.ENABLE_WHITE_WOOL_RECIPE.get()) {
|
||||
for (int colorId = 0; colorId < 16; ++colorId) {
|
||||
WyHelper.addShapelessRecipe(new ItemInstance(Tile.WOOL, 1, 0), new Object[]{
|
||||
new ItemInstance(Tile.WOOL, 1, WoolTile.method_2(colorId)), new ItemInstance(ItemType.dyePowder, 1, 15)});
|
||||
WyHelper.addShapelessRecipe(new ItemInstance(Tile.WOOL, 1, 0), new ItemInstance(Tile.WOOL, 1, WoolTile.method_2(colorId)),
|
||||
new ItemInstance(ItemType.dyePowder, 1, 15));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (ModConfig.ENABLE_COAL_AND_REDSTONE_BLOCKS_RECIPE.get()) {
|
||||
WyHelper.addShapedRecipe(new ItemInstance(ModTile.COAL_BLOCK, 1, 0), "###", "###", "###", '#', ItemType.coal);
|
||||
WyHelper.addShapelessRecipe(new ItemInstance(ItemType.coal, 9), new ItemInstance(ModTile.COAL_BLOCK, 1));
|
||||
WyHelper.addShapedRecipe(new ItemInstance(ModTile.REDSTONE_BLOCK, 1, 0), "###", "###", "###", '#', ItemType.redstone);
|
||||
WyHelper.addShapelessRecipe(new ItemInstance(ItemType.redstone, 9), new ItemInstance(ModTile.REDSTONE_BLOCK, 1));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,6 +7,7 @@ import java.util.HashMap;
|
|||
import net.minecraft.entity.player.Player;
|
||||
import net.minecraft.item.ItemInstance;
|
||||
import net.minecraft.recipe.RecipeRegistry;
|
||||
import net.minecraft.tile.Tile;
|
||||
import xyz.pixelatedw.finalbeta.mixin.MinecraftAccessorMixin;
|
||||
import xyz.pixelatedw.finalbeta.mixin.RecipeRegistryAccessorMixin;
|
||||
|
||||
|
@ -64,7 +65,7 @@ public class WyHelper {
|
|||
|
||||
// player.level.entities.stream().filter(e -> !(e instanceof Player)).forEach((e) -> ((net.minecraft.entity.Entity)e).remove());
|
||||
|
||||
// player.dropItem(new ItemInstance(Tile.LADDER, 64));
|
||||
player.dropItem(new ItemInstance(Tile.GOLD_ORE, 64));
|
||||
// player.dropItem(new ItemInstance(ItemType.minecart, 1));
|
||||
// player.dropItem(new ItemInstance(ItemType.minecartFurnace, 1));
|
||||
// player.dropItem(new ItemInstance(ItemType.coal, 64));
|
||||
|
@ -81,10 +82,10 @@ public class WyHelper {
|
|||
// player.level.setTile(x + i, y, z, Tile.REDSTONE_TORCH_LIT.id);
|
||||
// }
|
||||
|
||||
// player.level.setLevelTime(0);
|
||||
// player.level.getProperties().setRaining(false);
|
||||
// player.level.getProperties().setRainTime(0);
|
||||
// player.level.getProperties().setThundering(false);
|
||||
// player.level.getProperties().setThunderTime(0);
|
||||
player.level.setLevelTime(0);
|
||||
player.level.getProperties().setRaining(false);
|
||||
player.level.getProperties().setRainTime(0);
|
||||
player.level.getProperties().setThundering(false);
|
||||
player.level.getProperties().setThunderTime(0);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,15 +5,21 @@ import org.spongepowered.asm.mixin.Shadow;
|
|||
import org.spongepowered.asm.mixin.injection.At;
|
||||
import org.spongepowered.asm.mixin.injection.Inject;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
||||
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
|
||||
|
||||
import net.minecraft.entity.FurnaceEntity;
|
||||
import net.minecraft.item.ItemInstance;
|
||||
import net.minecraft.item.ItemType;
|
||||
import net.minecraft.util.io.CompoundTag;
|
||||
import xyz.pixelatedw.finalbeta.ModConfig;
|
||||
import xyz.pixelatedw.finalbeta.ModTile;
|
||||
|
||||
@Mixin(FurnaceEntity.class)
|
||||
public class FurnaceEntityMixin {
|
||||
|
||||
@Shadow
|
||||
public int fuelTime;
|
||||
|
||||
@Shadow
|
||||
private ItemInstance[] contents;
|
||||
|
||||
|
@ -26,4 +32,34 @@ public class FurnaceEntityMixin {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Inject(method = "getFuelTime", at = @At("HEAD"), cancellable = true)
|
||||
private void getFuelTime(ItemInstance stack, CallbackInfoReturnable<Integer> cir) {
|
||||
if (stack == null) {
|
||||
cir.setReturnValue(0);
|
||||
return;
|
||||
}
|
||||
|
||||
if (stack.getType().id == ModTile.COAL_BLOCK.id) {
|
||||
cir.setReturnValue(16000);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Properly saving and loading the fuelTime as otherwise minecraft tries to
|
||||
* get it from the fuel item slot, which can be empty...and so the fuel time
|
||||
* defaults to 200. By saving it we make sure the fuel time is always
|
||||
* correct regardless of the fuel slot contents.
|
||||
*/
|
||||
|
||||
@Inject(method = "writeIdentifyingData", at = @At("TAIL"))
|
||||
public void writeIdentifyingData(CompoundTag tag, CallbackInfo ci) {
|
||||
tag.put("FuelTime", this.fuelTime);
|
||||
}
|
||||
|
||||
@Inject(method = "readIdentifyingData", at = @At("TAIL"))
|
||||
public void readIdentifyingData(CompoundTag tag, CallbackInfo ci) {
|
||||
this.fuelTime = tag.getInt("FuelTime");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue