blast furnace progress
This commit is contained in:
@@ -1,2 +1,2 @@
|
||||
// 1.19.2 2023-09-19T14:23:32.3677565 Create: The Factory Must Grow's lang merger
|
||||
279de59a50ebc382a1a701878d0e99bf46265336 assets/tfmg/lang/en_us.json
|
||||
// 1.19.2 2023-09-22T16:49:10.0101293 Create: The Factory Must Grow's lang merger
|
||||
7dc07e2f297d06725fb6b2378b917fb81966a70d assets/tfmg/lang/en_us.json
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// 1.19.2 2023-09-19T14:23:32.3567546 Registrate Provider for tfmg [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
// 1.19.2 2023-09-22T16:49:10.0141303 Registrate Provider for tfmg [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
b7f5146505c40c08cdea7ad01fa99048b7ac5451 assets/tfmg/blockstates/aluminum_block.json
|
||||
933485fa587fccc649b4cbe8f76f15e590cc8bb1 assets/tfmg/blockstates/bauxite.json
|
||||
2b53ff8e880d35a42388584cb3ca896c55bfaf95 assets/tfmg/blockstates/bauxite_pillar.json
|
||||
@@ -65,8 +65,8 @@ e29906d296994a13fefc2beb22f7693e1027dd1b assets/tfmg/blockstates/steel_fluid_val
|
||||
71b4c68d8a02062252c4dfde41650b7667d8c0ca assets/tfmg/blockstates/steel_sheetmetal.json
|
||||
47b56dad1f2715aae7430b5f9acb1d51a26cf562 assets/tfmg/blockstates/steel_smart_fluid_pipe.json
|
||||
942bb86fa92b3c40fc535dccdd2e9f3b79a36d92 assets/tfmg/blockstates/surface_scanner.json
|
||||
67b8a6fd76d364c98275a66fb3f4cc9bbb043359 assets/tfmg/lang/en_ud.json
|
||||
4bb8653cbdb013bc36e507bc2408c5b4279a4864 assets/tfmg/lang/en_us.json
|
||||
fd454201619789195f2c164c19e2f61ab727bfe5 assets/tfmg/lang/en_ud.json
|
||||
e80d79d10c0e092c3a2b7b8a97d08fb38a6f7e76 assets/tfmg/lang/en_us.json
|
||||
9e6a6b62f5e7528c4e4d4f72f3510edcd8f0c078 assets/tfmg/models/block/aluminum_block.json
|
||||
5a4c785e8d8394ccd125732c0017459648574c4e assets/tfmg/models/block/bauxite_natural_0.json
|
||||
4ace0da00498fcbb9ddfdf321767b40b095c8778 assets/tfmg/models/block/bauxite_natural_1.json
|
||||
@@ -190,6 +190,7 @@ fc48286f0e70651f3d5a915558c3c91ae3ad0da6 assets/tfmg/models/item/cast_iron_disti
|
||||
da2c28e98d0ddf7166bdf7214c06e81ad8581b90 assets/tfmg/models/item/cast_iron_ingot.json
|
||||
d45fc5511b4c4027889afd3088cd91ba1d8b0501 assets/tfmg/models/item/coal_coke.json
|
||||
3789a9d72a7ba5daf8c39cccaa665057e63302c6 assets/tfmg/models/item/coal_coke_block.json
|
||||
cf3c486158a27cbd3a4ef9fdd79dc93f3cc12b45 assets/tfmg/models/item/coal_coke_dust.json
|
||||
4a843d55647a606fa97bc2daf745a7603406767d assets/tfmg/models/item/concrete.json
|
||||
e8c4e68647a6ced815cfca649c679e709fcc7751 assets/tfmg/models/item/cooling_fluid_bucket.json
|
||||
df4e7fa8f3f60908f58794528a8db60dce7d0135 assets/tfmg/models/item/copper_grenade.json
|
||||
@@ -270,6 +271,7 @@ a779b7e09e7de79b73efb212644edff6739da610 data/forge/tags/items/buckets/napalm.js
|
||||
fdf3b8fdf1975b0eee671f428803caa4e17dc5bd data/forge/tags/items/buckets/naphtha.json
|
||||
5f98116af6d1d5e0324ff11449e719e7e2593c0c data/forge/tags/items/buckets/plastic.json
|
||||
f0989952061266a02499103c1dcd9f2d7da131f5 data/forge/tags/items/concrete.json
|
||||
f1cc6d710a5e49ab33dbaceea796f0c0b589c82b data/forge/tags/items/dusts/coal_coke.json
|
||||
70e609465aa949ff4acc873fb19d4afc07f79aa1 data/forge/tags/items/ingots/aluminum.json
|
||||
2da28c9441f79389929080f6f31da841bbee19e7 data/forge/tags/items/ingots/cast_iron.json
|
||||
6746e7b0c2ed4053e7b438c3e99e86889fa9d454 data/forge/tags/items/ingots/lead.json
|
||||
|
||||
@@ -93,6 +93,7 @@
|
||||
"item.tfmg.aluminum_ingot": "ʇobuI ɯnuıɯnןⱯ",
|
||||
"item.tfmg.cast_iron_ingot": "ʇobuI uoɹI ʇsɐƆ",
|
||||
"item.tfmg.coal_coke": "ǝʞoƆ ןɐoƆ",
|
||||
"item.tfmg.coal_coke_dust": "ʇsnᗡ ǝʞoƆ ןɐoƆ",
|
||||
"item.tfmg.cooling_fluid_bucket": "ʇǝʞɔnᗺ pınןℲ buıןooƆ",
|
||||
"item.tfmg.copper_grenade": "ǝpɐuǝɹ⅁ ɹǝddoƆ",
|
||||
"item.tfmg.creosote_bucket": "ʇǝʞɔnᗺ ǝʇosoǝɹƆ",
|
||||
|
||||
@@ -99,6 +99,7 @@
|
||||
"item.tfmg.aluminum_ingot": "Aluminum Ingot",
|
||||
"item.tfmg.cast_iron_ingot": "Cast Iron Ingot",
|
||||
"item.tfmg.coal_coke": "Coal Coke",
|
||||
"item.tfmg.coal_coke_dust": "Coal Coke Dust",
|
||||
"item.tfmg.cooling_fluid_bucket": "Cooling Fluid Bucket",
|
||||
"item.tfmg.copper_grenade": "Copper Grenade",
|
||||
"item.tfmg.creosote_bucket": "Creosote Bucket",
|
||||
@@ -119,26 +120,6 @@
|
||||
"item.tfmg.thermite_grenade": "Thermite Grenade",
|
||||
"item.tfmg.zinc_grenade": "Zinc Grenade",
|
||||
|
||||
"itemGroup.tfmg.base": "Create: The Factory Must Grow",
|
||||
"itemGroup.tfmg.building": "Create: TFMG's Building Blocks",
|
||||
|
||||
"create.goggles.misc.number": "%1$s",
|
||||
"create.goggles.misc.dot_one": ".",
|
||||
"create.goggles.misc.dot_two": "..",
|
||||
"create.goggles.misc.dot_three": "...",
|
||||
"create.goggles.fluid_in_tank": "Fluid In Tank:",
|
||||
"create.goggles.surface_scanner.no_rotation": "No Rotation Provided",
|
||||
"create.goggles.surface_scanner.no_deposit": "No Deposit Found",
|
||||
"create.goggles.surface_scanner.deposit_found": "Found Deposit",
|
||||
"create.goggles.surface_scanner.distance": "Distance: %1$s Blocks",
|
||||
"create.goggles.surface_scanner.scanning_surface": "Scanning Surface",
|
||||
"create.goggles.distillation_tower.status": "Distillation Tower Info:",
|
||||
"create.goggles.distillation_tower.tank_not_found": "Steel Fluid Tank Not Found",
|
||||
"create.goggles.distillation_tower.not_tall_enough": "Distillation Tower is Not Tall Enough",
|
||||
"create.goggles.distillation_tower.level": "Distillation Tower Level: %1$s",
|
||||
"create.goggles.distillation_tower.found_outputs": "Found Outputs: %1$s",
|
||||
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
|
||||
|
||||
|
||||
"_": "->------------------------] UI & Messages [------------------------<-",
|
||||
|
||||
@@ -161,6 +142,17 @@
|
||||
"create.goggles.distillation_tower.level": "Distillation Tower Level: %1$s",
|
||||
"create.goggles.distillation_tower.found_outputs": "Found Outputs: %1$s",
|
||||
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
|
||||
"create.goggles.blast_furnace.stats": "Blast Furnace Stats:",
|
||||
"create.goggles.blast_furnace.size_stats": "Size Stats:",
|
||||
"create.goggles.blast_furnace.fuel_amount": "Fuel Amount: %1$s",
|
||||
"create.goggles.blast_furnace.item_count": "Item Count: %1$s",
|
||||
"create.goggles.blast_furnace.height": "Height: %1$s",
|
||||
"create.goggles.blast_furnace.reinforcement_height": "Reinforcement Height: %1$s",
|
||||
"create.goggles.blast_furnace.status.off": "Status: Off",
|
||||
"create.goggles.blast_furnace.status.running": "Status: Running",
|
||||
"create.goggles.blast_furnace.status.finished": "Status: Process Finished",
|
||||
"create.goggles.blast_furnace.diameter.one": "Diameter: 1",
|
||||
"create.goggles.blast_furnace.diameter.two": "Diameter: 2",
|
||||
|
||||
"_": "Thank you for translating Create: The Factory Must Grow!"
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"parent": "minecraft:item/generated",
|
||||
"textures": {
|
||||
"layer0": "tfmg:item/coal_coke_dust"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"values": [
|
||||
"tfmg:coal_coke_dust"
|
||||
]
|
||||
}
|
||||
@@ -92,17 +92,7 @@ public class FormWorkRenderer extends SafeBlockEntityRenderer<FormWorkBlockEntit
|
||||
if (fluidLevel == null) {
|
||||
return;
|
||||
}
|
||||
float level = fluidLevel.getValue(partialTicks);
|
||||
|
||||
float capHeight = 1 / 4f;
|
||||
float tankHullWidth = 1 / 16f + 1 / 128f;
|
||||
float minPuddleHeight = 1 / 16f;
|
||||
|
||||
|
||||
// float level = fluidLevel.getValue(partialTicks);
|
||||
// if (level < 1 / (512f * 1))
|
||||
// return;
|
||||
// float clampedLevel = Mth.clamp(level * 1, 0, 1);
|
||||
|
||||
FluidTank tank = be.tankInventory;
|
||||
FluidStack fluidStack = tank.getFluid();
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
package com.drmangotea.tfmg.content.items;
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.SteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.sounds.SoundSource;
|
||||
import net.minecraft.world.InteractionResult;
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output;
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.simibubi.create.foundation.block.IBE;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.HorizontalDirectionalBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
|
||||
public class BlastFurnaceOutputBlock extends HorizontalDirectionalBlock implements IBE<BlastFurnaceOutputBlockEntity> {
|
||||
public BlastFurnaceOutputBlock(Properties p_54120_) {
|
||||
super(p_54120_);
|
||||
}
|
||||
public BlockState getStateForPlacement(BlockPlaceContext p_48781_) {
|
||||
return this.defaultBlockState().setValue(FACING, p_48781_.getHorizontalDirection().getOpposite());
|
||||
}
|
||||
@Override
|
||||
public Class<BlastFurnaceOutputBlockEntity> getBlockEntityClass() {
|
||||
return BlastFurnaceOutputBlockEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntityType<? extends BlastFurnaceOutputBlockEntity> getBlockEntityType() {
|
||||
return TFMGBlockEntities.BLAST_FURNACE_OUTPUT.get();
|
||||
}
|
||||
@Override
|
||||
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> pBuilder) {
|
||||
super.createBlockStateDefinition(pBuilder.add(FACING));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,482 @@
|
||||
package com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output;
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.TFMGMachineBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||
import com.simibubi.create.foundation.blockEntity.behaviour.BlockEntityBehaviour;
|
||||
import com.simibubi.create.foundation.item.SmartInventory;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
import com.simibubi.create.foundation.utility.animation.LerpedFloat;
|
||||
import net.minecraft.ChatFormatting;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.entity.item.ItemEntity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.level.block.Blocks;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.util.LazyOptional;
|
||||
import net.minecraftforge.fluids.capability.CapabilityFluidHandler;
|
||||
import net.minecraftforge.items.CapabilityItemHandler;
|
||||
import net.minecraftforge.items.IItemHandlerModifiable;
|
||||
import net.minecraftforge.items.wrapper.CombinedInvWrapper;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING;
|
||||
|
||||
public class BlastFurnaceOutputBlockEntity extends TFMGMachineBlockEntity implements IHaveGoggleInformation {
|
||||
|
||||
|
||||
|
||||
public BlastFurnaceType type;
|
||||
public Direction outputFacing = getBlockState().getValue(FACING);
|
||||
public BlockPos mainFloor;
|
||||
public int height=2;
|
||||
public int reinforcementHeight = 0;
|
||||
|
||||
|
||||
public LerpedFloat coalCokeHeight = LerpedFloat.linear();
|
||||
|
||||
//item storage
|
||||
public LazyOptional<IItemHandlerModifiable> itemCapability;
|
||||
|
||||
public SmartInventory inputInventory;
|
||||
|
||||
public SmartInventory fuelInventory;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public BlastFurnaceOutputBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
inputInventory = new SmartInventory(1, this).forbidInsertion()
|
||||
.withMaxStackSize(64);
|
||||
fuelInventory = new SmartInventory(1, this).forbidInsertion()
|
||||
.withMaxStackSize(64);
|
||||
|
||||
itemCapability = LazyOptional.of(() -> new CombinedInvWrapper(inputInventory,fuelInventory));
|
||||
}
|
||||
@Override
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
|
||||
super.addBehaviours(behaviours);
|
||||
}
|
||||
public void tick(){
|
||||
super.tick();
|
||||
outputFacing = getBlockState().getValue(FACING);
|
||||
coalCokeHeight.chase(fuelInventory.getStackInSlot(0).getCount(), 0.1f, LerpedFloat.Chaser.EXP);
|
||||
coalCokeHeight.tickChaser();
|
||||
|
||||
checkType();
|
||||
|
||||
if(type == BlastFurnaceType.INVALID)
|
||||
return;
|
||||
|
||||
List<ItemEntity> itemsToPick = getItemsToPick(type);
|
||||
for(ItemEntity itemEntity : itemsToPick){
|
||||
ItemStack itemStack = itemEntity.getItem();
|
||||
if(itemStack.is(TFMGItems.COAL_COKE_DUST.get())){
|
||||
|
||||
int freeSpace = fuelInventory.getStackInSlot(0).getMaxStackSize()-fuelInventory.getStackInSlot(0).getCount();
|
||||
|
||||
int coalCokeCount = itemStack.getCount();
|
||||
//if(itemStack == ItemStack.EMPTY)
|
||||
// continue;
|
||||
|
||||
if(coalCokeCount>freeSpace){
|
||||
itemStack.setCount(itemStack.getCount()-freeSpace);
|
||||
fuelInventory.setItem(0 ,new ItemStack (TFMGItems.COAL_COKE_DUST.get(),fuelInventory.getStackInSlot(0).getCount()+freeSpace));
|
||||
}else {
|
||||
fuelInventory.setItem(0 ,new ItemStack (TFMGItems.COAL_COKE_DUST.get(),fuelInventory.getStackInSlot(0).getCount()+itemStack.getCount()));
|
||||
itemEntity.discard();
|
||||
}
|
||||
continue;
|
||||
|
||||
}
|
||||
|
||||
itemEntity.discard();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||
|
||||
// Lang.translate("goggles.surface_scanner.distance", fuelInventory.getItem(0).getCount())
|
||||
// .style(ChatFormatting.GREEN)
|
||||
// .forGoggles(tooltip,1);
|
||||
Lang.translate("goggles.surface_scanner.distance", reinforcementHeight)
|
||||
.style(ChatFormatting.GREEN)
|
||||
.forGoggles(tooltip,1);
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void read(CompoundTag compound, boolean clientPacket) {
|
||||
super.read(compound, clientPacket);
|
||||
|
||||
inputInventory.deserializeNBT(compound.getCompound("InputItems"));
|
||||
fuelInventory.deserializeNBT(compound.getCompound("Fuel"));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void write(CompoundTag compound, boolean clientPacket) {
|
||||
super.write(compound, clientPacket);
|
||||
|
||||
compound.put("InputItems", inputInventory.serializeNBT());
|
||||
compound.put("Fuel", fuelInventory.serializeNBT());
|
||||
|
||||
}
|
||||
@Override
|
||||
public void invalidate() {
|
||||
super.invalidate();
|
||||
itemCapability.invalidate();
|
||||
}
|
||||
@Nonnull
|
||||
@Override
|
||||
@SuppressWarnings("'net.minecraftforge.items.CapabilityItemHandler' is deprecated and marked for removal ")
|
||||
public <T> LazyOptional<T> getCapability(@Nonnull Capability<T> cap, Direction side) {
|
||||
if (cap == CapabilityItemHandler.ITEM_HANDLER_CAPABILITY)
|
||||
return itemCapability.cast();
|
||||
if (cap == CapabilityFluidHandler.FLUID_HANDLER_CAPABILITY)
|
||||
return fluidCapability.cast();
|
||||
return super.getCapability(cap, side);
|
||||
}
|
||||
public void checkType(){
|
||||
|
||||
mainFloor = this.getBlockPos().relative(outputFacing.getOpposite());
|
||||
if(!isValidBlock(mainFloor)) {
|
||||
type = BlastFurnaceType.INVALID;
|
||||
return;
|
||||
}
|
||||
|
||||
if(!isAboveClear(mainFloor)){
|
||||
type = BlastFurnaceType.INVALID;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if(canBeSmall())
|
||||
type = BlastFurnaceType.SMALL;
|
||||
if(canBeBigLeft())
|
||||
type = BlastFurnaceType.BIG_LEFT;
|
||||
if(canBeBigRight())
|
||||
type = BlastFurnaceType.BIG_RIGHT;
|
||||
|
||||
|
||||
if(
|
||||
!canBeBigLeft()&&
|
||||
!canBeBigRight()&&
|
||||
!canBeSmall()
|
||||
)type = BlastFurnaceType.INVALID;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean isAboveClear(BlockPos pos){
|
||||
pos = pos.above();
|
||||
return level.getBlockState(pos).is(Blocks.AIR);
|
||||
}
|
||||
public boolean isAboveValid(BlockPos pos){
|
||||
return isAboveValid(pos,false);
|
||||
}
|
||||
public boolean isAboveValid(BlockPos pos,boolean firstCheck){
|
||||
pos = pos.above();
|
||||
boolean isValid = level.getBlockState(pos).is(TFMGBlocks.FIREPROOF_BRICKS.get());
|
||||
|
||||
BlockPos pos1 = pos.above();
|
||||
int height=2;
|
||||
for(int i=0; i <8; i++){
|
||||
|
||||
if(level.getBlockState(pos1).is(TFMGBlocks.FIREPROOF_BRICKS.get())){
|
||||
height++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
||||
pos1 = pos1.above();
|
||||
}
|
||||
if(height<=this.height||firstCheck)
|
||||
this.height=height;
|
||||
|
||||
|
||||
return isValid;
|
||||
}
|
||||
//
|
||||
public void isReinforcement(BlockPos pos){
|
||||
this.isReinforcement(pos,false);
|
||||
}
|
||||
public void isReinforcement(BlockPos pos,boolean firstCheck){
|
||||
|
||||
BlockPos pos1 = pos;
|
||||
int height=0;
|
||||
for(int i=0; i <8; i++){
|
||||
|
||||
if(level.getBlockState(pos1).is(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT.get())){
|
||||
height++;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
|
||||
pos1 = pos1.above();
|
||||
}
|
||||
if(height<=this.reinforcementHeight||firstCheck)
|
||||
this.reinforcementHeight=height;
|
||||
|
||||
}
|
||||
public boolean isValidBlock(BlockPos pos){
|
||||
return level.getBlockState(pos).is(TFMGBlocks.FIREPROOF_BRICKS.get());
|
||||
}
|
||||
//its average :/
|
||||
public boolean canBeSmall(){
|
||||
BlockPos checkedPos=this.getBlockPos().relative(outputFacing.getOpposite());
|
||||
BlockPos mainPos = checkedPos;
|
||||
|
||||
if(!isValidBlock(mainPos))
|
||||
return false;
|
||||
if(!isAboveClear(mainPos))
|
||||
return false;
|
||||
checkedPos = mainPos.relative(outputFacing.getClockWise());
|
||||
|
||||
if(!isValidBlock(checkedPos))
|
||||
return false;
|
||||
if(!isAboveValid(checkedPos,true))
|
||||
return false;
|
||||
|
||||
checkedPos = mainPos.relative(outputFacing.getCounterClockWise());
|
||||
|
||||
if(!isValidBlock(checkedPos))
|
||||
return false;
|
||||
if(!isAboveValid(checkedPos))
|
||||
return false;
|
||||
|
||||
checkedPos = mainPos.relative(outputFacing);
|
||||
|
||||
if(!isAboveValid(checkedPos))
|
||||
return false;
|
||||
|
||||
isReinforcement(checkedPos.relative(outputFacing.getCounterClockWise()),true);
|
||||
isReinforcement(checkedPos.relative(outputFacing.getClockWise()));
|
||||
isReinforcement(mainPos.relative(outputFacing.getOpposite()).relative(outputFacing.getCounterClockWise()));
|
||||
isReinforcement(mainPos.relative(outputFacing.getOpposite()).relative(outputFacing.getClockWise()));
|
||||
|
||||
|
||||
// level.setBlock(checkedPos.above(5), Blocks.GOLD_BLOCK.defaultBlockState(), 3);
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean canBeBigRight(){
|
||||
mainFloor = this.getBlockPos().relative(outputFacing.getOpposite());
|
||||
|
||||
BlockPos checkedPos = this.getBlockPos().relative(outputFacing.getCounterClockWise());
|
||||
|
||||
for(int i = 0; i<4; i++){
|
||||
|
||||
|
||||
for(int y = 0; y<4; y++){
|
||||
|
||||
|
||||
|
||||
|
||||
if(
|
||||
!(i ==0 && y ==0)&&
|
||||
!(i ==3 && y ==3)&&
|
||||
!(i ==0 && y ==3)&&
|
||||
!(i ==3 && y ==0)
|
||||
|
||||
) {
|
||||
if( i ==1 && y ==0){
|
||||
if(isAboveValid(checkedPos)) {
|
||||
checkedPos = checkedPos.relative(outputFacing.getOpposite());
|
||||
continue;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
if(!isValidBlock(checkedPos)) {
|
||||
return false;
|
||||
}
|
||||
if(i==0&&y==1){
|
||||
if(!isAboveValid(checkedPos,true)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(
|
||||
i ==0 || i ==3 ||
|
||||
y == 0 || y == 3
|
||||
|
||||
){
|
||||
if(!isAboveValid(checkedPos)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(!isAboveClear(checkedPos)) {
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
} else{
|
||||
//reinforcements
|
||||
if(i ==0 && y ==0)
|
||||
isReinforcement(checkedPos,true);
|
||||
|
||||
isReinforcement(checkedPos);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
checkedPos = checkedPos.relative(outputFacing.getOpposite());
|
||||
|
||||
}
|
||||
checkedPos= checkedPos.relative(outputFacing,4);
|
||||
checkedPos= checkedPos.relative(outputFacing.getClockWise());
|
||||
}
|
||||
// level.setBlock(checkedPos.above(5), Blocks.DIAMOND_BLOCK.defaultBlockState(), 3);
|
||||
return true;
|
||||
}
|
||||
public boolean canBeBigLeft(){
|
||||
mainFloor = this.getBlockPos().relative(outputFacing.getOpposite());
|
||||
|
||||
BlockPos checkedPos = this.getBlockPos().relative(outputFacing.getClockWise());
|
||||
|
||||
for(int i = 0; i<4; i++){
|
||||
|
||||
|
||||
for(int y = 0; y<4; y++){
|
||||
|
||||
|
||||
|
||||
|
||||
if(
|
||||
!(i ==0 && y ==0)&&
|
||||
!(i ==3 && y ==3)&&
|
||||
!(i ==0 && y ==3)&&
|
||||
!(i ==3 && y ==0)
|
||||
|
||||
) {
|
||||
if( i ==1 && y ==0){
|
||||
if(isAboveValid(checkedPos)) {
|
||||
checkedPos = checkedPos.relative(outputFacing.getOpposite());
|
||||
continue;
|
||||
} else return false;
|
||||
}
|
||||
|
||||
if(!isValidBlock(checkedPos)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if(i==0&&y==1){
|
||||
if(!isAboveValid(checkedPos,true)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if(
|
||||
i ==0 || i ==3 ||
|
||||
y == 0 || y == 3
|
||||
|
||||
){
|
||||
if(!isAboveValid(checkedPos)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
if(!isAboveClear(checkedPos)) {
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
//reinforcements
|
||||
if(i ==0 && y ==0)
|
||||
isReinforcement(checkedPos,true);
|
||||
|
||||
isReinforcement(checkedPos);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
checkedPos = checkedPos.relative(outputFacing.getOpposite());
|
||||
|
||||
}
|
||||
checkedPos= checkedPos.relative(outputFacing,4);
|
||||
checkedPos= checkedPos.relative(outputFacing.getCounterClockWise());
|
||||
}
|
||||
// level.setBlock(checkedPos.above(5), Blocks.EMERALD_BLOCK.defaultBlockState(), 3);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<ItemEntity> getItemsToPick(BlastFurnaceType type) {
|
||||
AABB searchArea=null;
|
||||
AABB searchArea1=null;
|
||||
AABB searchArea2=null;
|
||||
AABB searchArea3=null;
|
||||
|
||||
if(type == BlastFurnaceType.SMALL)
|
||||
searchArea = new AABB(this.getBlockPos().relative(outputFacing.getOpposite()).above());
|
||||
|
||||
if(type == BlastFurnaceType.BIG_RIGHT) {
|
||||
searchArea = new AABB(this.getBlockPos().relative(outputFacing.getOpposite()).above());
|
||||
|
||||
searchArea1 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite(), 2).above());
|
||||
searchArea2 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite(), 2).above().relative(outputFacing.getClockWise()));
|
||||
searchArea3 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite()).above().relative(outputFacing.getClockWise()));
|
||||
|
||||
}
|
||||
if(type == BlastFurnaceType.BIG_LEFT) {
|
||||
searchArea = new AABB(this.getBlockPos().relative(outputFacing.getOpposite()).above());
|
||||
|
||||
searchArea1 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite(), 2).above());
|
||||
searchArea2 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite(), 2).above().relative(outputFacing.getCounterClockWise()));
|
||||
searchArea3 = new AABB(this.getBlockPos().relative(outputFacing.getOpposite()).above().relative(outputFacing.getCounterClockWise()));
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
if(searchArea1!=null){
|
||||
List<ItemEntity> itemList= new ArrayList<>();
|
||||
itemList.addAll(level.getEntitiesOfClass(ItemEntity.class, searchArea));
|
||||
itemList.addAll(level.getEntitiesOfClass(ItemEntity.class, searchArea1));
|
||||
itemList.addAll(level.getEntitiesOfClass(ItemEntity.class, searchArea2));
|
||||
itemList.addAll(level.getEntitiesOfClass(ItemEntity.class, searchArea3));
|
||||
return itemList;
|
||||
}
|
||||
|
||||
return level.getEntitiesOfClass(ItemEntity.class, searchArea);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public enum BlastFurnaceType{
|
||||
SMALL,
|
||||
BIG_LEFT,
|
||||
BIG_RIGHT,
|
||||
INVALID
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
package com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output;
|
||||
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
||||
import com.jozufozu.flywheel.util.transform.TransformStack;
|
||||
import com.mojang.blaze3d.vertex.PoseStack;
|
||||
import com.mojang.blaze3d.vertex.VertexConsumer;
|
||||
import com.simibubi.create.foundation.blockEntity.renderer.SafeBlockEntityRenderer;
|
||||
import com.simibubi.create.foundation.render.CachedBufferer;
|
||||
import net.minecraft.client.renderer.MultiBufferSource;
|
||||
import net.minecraft.client.renderer.RenderType;
|
||||
import net.minecraft.client.renderer.blockentity.BlockEntityRendererProvider;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class BlastFurnaceRenderer extends SafeBlockEntityRenderer<BlastFurnaceOutputBlockEntity> {
|
||||
|
||||
public BlastFurnaceRenderer(BlockEntityRendererProvider.Context context) {}
|
||||
|
||||
@Override
|
||||
protected void renderSafe(BlastFurnaceOutputBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer,
|
||||
int light, int overlay) {
|
||||
|
||||
ms.pushPose();
|
||||
TransformStack msr = TransformStack.cast(ms);
|
||||
msr.translate(1 / 2f, 0.5, 1 / 2f);
|
||||
|
||||
float coalCokeLevel = be.coalCokeHeight.getValue()/32;
|
||||
|
||||
this.renderNorth(be,partialTicks,ms,buffer,light,overlay,coalCokeLevel);
|
||||
|
||||
|
||||
|
||||
|
||||
ms.popPose();
|
||||
|
||||
}
|
||||
|
||||
protected void renderNorth(BlastFurnaceOutputBlockEntity be, float partialTicks, PoseStack ms, MultiBufferSource buffer,
|
||||
int light, int overlay,float height) {
|
||||
BlockState blockState = be.getBlockState();
|
||||
VertexConsumer vb = buffer.getBuffer(RenderType.solid());
|
||||
//small
|
||||
if (be.type == BlastFurnaceOutputBlockEntity.BlastFurnaceType.SMALL) {
|
||||
|
||||
|
||||
CachedBufferer.partial(TFMGPartialModels.COAL_COKE_DUST_LAYER, blockState)
|
||||
.centre()
|
||||
.translateX(-1)
|
||||
.translateY(height)
|
||||
.light(light)
|
||||
.renderInto(ms, vb);
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean shouldRenderOffScreen(BlastFurnaceOutputBlockEntity te) {
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.block.IBE;
|
||||
@@ -14,25 +14,9 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.pathfinder.PathComputationType;
|
||||
|
||||
|
||||
import com.simibubi.create.AllShapes;
|
||||
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.advancement.AdvancementBehaviour;
|
||||
import com.simibubi.create.foundation.block.IBE;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.sounds.SoundEvents;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.entity.LivingEntity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.context.BlockPlaceContext;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.LevelReader;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.FaceAttachedHorizontalDirectionalBlock;
|
||||
import net.minecraft.world.level.block.SimpleWaterloggedBlock;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
|
||||
public class DistillationControllerBlock extends FaceAttachedHorizontalDirectionalBlock
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower;
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillery.DistilleryControllerBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.simibubi.create.content.equipment.goggles.IHaveGoggleInformation;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.drmangotea.tfmg.registry.TFMGFluids;
|
||||
import com.simibubi.create.Create;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal;
|
||||
package com.drmangotea.tfmg.content.pipes.normal;
|
||||
|
||||
|
||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal;
|
||||
package com.drmangotea.tfmg.content.pipes.normal;
|
||||
|
||||
|
||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal.steel;
|
||||
package com.drmangotea.tfmg.content.pipes.normal.steel;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal.steel;
|
||||
package com.drmangotea.tfmg.content.pipes.normal.steel;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal.steel;
|
||||
package com.drmangotea.tfmg.content.pipes.normal.steel;
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
||||
import com.simibubi.create.content.decoration.bracket.BracketedBlockEntityBehaviour;
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.normal.steel;
|
||||
package com.drmangotea.tfmg.content.pipes.normal.steel;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.CreateTFMG;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
@@ -28,20 +27,15 @@ import net.minecraft.world.item.context.UseOnContext;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
import net.minecraft.world.level.block.state.properties.BooleanProperty;
|
||||
import net.minecraft.world.level.material.Fluid;
|
||||
import net.minecraft.world.phys.BlockHitResult;
|
||||
import net.minecraft.world.phys.HitResult;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.Arrays;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
|
||||
public class SteelPipeBlock extends FluidPipeBlock {
|
||||
// public static final BooleanProperty LOCKEDDDD = BlockStateProperties.LOCKED;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.pumps;
|
||||
package com.drmangotea.tfmg.content.pipes.pumps;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.smart_pipes;
|
||||
package com.drmangotea.tfmg.content.pipes.smart_pipes;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.pipes.valves;
|
||||
package com.drmangotea.tfmg.content.pipes.valves;
|
||||
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.base.TFMGSpriteShifts;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower.DistillationTowerData;
|
||||
@@ -14,7 +14,6 @@ import com.simibubi.create.infrastructure.config.AllConfigs;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.nbt.CompoundTag;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlock.Shape;
|
||||
import net.minecraft.nbt.NbtUtils;
|
||||
import net.minecraft.network.chat.Component;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
@@ -285,18 +284,18 @@ public class SteelTankBlockEntity extends FluidTankBlockEntity implements IHaveG
|
||||
if (!SteelTankBlock.isTank(blockState))
|
||||
continue;
|
||||
|
||||
Shape shape = Shape.PLAIN;
|
||||
SteelTankBlock.Shape shape = SteelTankBlock.Shape.PLAIN;
|
||||
if (window) {
|
||||
// SIZE 1: Every tank has a window
|
||||
if (width == 1)
|
||||
shape = Shape.WINDOW;
|
||||
shape = SteelTankBlock.Shape.WINDOW;
|
||||
// SIZE 2: Every tank has a corner window
|
||||
if (width == 2)
|
||||
shape = xOffset == 0 ? zOffset == 0 ? Shape.WINDOW_NW : Shape.WINDOW_SW
|
||||
: zOffset == 0 ? Shape.WINDOW_NE : Shape.WINDOW_SE;
|
||||
shape = xOffset == 0 ? zOffset == 0 ? SteelTankBlock.Shape.WINDOW_NW : SteelTankBlock.Shape.WINDOW_SW
|
||||
: zOffset == 0 ? SteelTankBlock.Shape.WINDOW_NE : SteelTankBlock.Shape.WINDOW_SE;
|
||||
// SIZE 3: Tanks in the center have a window
|
||||
if (width == 3 && abs(abs(xOffset) - abs(zOffset)) == 1)
|
||||
shape = Shape.WINDOW;
|
||||
shape = SteelTankBlock.Shape.WINDOW;
|
||||
}
|
||||
|
||||
level.setBlock(pos, blockState.setValue(SteelTankBlock.SHAPE, shape), 22);
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
import com.simibubi.create.foundation.data.AssetLookup;
|
||||
import com.simibubi.create.foundation.data.SpecialBlockStateGen;
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.drmangotea.tfmg.content.machines.tanks;
|
||||
package com.drmangotea.tfmg.content.tanks;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
@@ -1,8 +1,7 @@
|
||||
package com.drmangotea.tfmg.mixins;
|
||||
|
||||
import com.drmangotea.tfmg.CreateTFMG;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.simibubi.create.AllBlockEntityTypes;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.content.contraptions.ITransformableBlock;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.drmangotea.tfmg.mixins;
|
||||
|
||||
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.SteelPipeBlock;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllTags;
|
||||
@@ -24,8 +23,6 @@ import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.level.BlockGetter;
|
||||
import net.minecraft.world.level.Level;
|
||||
import net.minecraft.world.level.LevelAccessor;
|
||||
import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.LiquidBlock;
|
||||
import net.minecraft.world.level.block.entity.BlockEntity;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.properties.BlockStateProperties;
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.drmangotea.tfmg.content.decoration.doors.TFMGSlidingDoorRenderer;
|
||||
import com.drmangotea.tfmg.content.deposits.FluidDepositBlockEntity;
|
||||
import com.drmangotea.tfmg.content.deposits.surface_scanner.SurfaceScannerRenderer;
|
||||
import com.drmangotea.tfmg.content.deposits.surface_scanner.SurfaceScannerTileEntity;
|
||||
import com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output.BlastFurnaceOutputBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output.BlastFurnaceRenderer;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower.DistillationControllerBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower.DistillationOutputBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillery.DistilleryControllerBlockEntity;
|
||||
@@ -21,9 +23,9 @@ import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.hammer_holde
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.hammer_holder.PumpjackHammerHolderBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.machine_input.MachineInputRenderer;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.machine_input.MachineInputBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelFluidTankRenderer;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.LockablePipeBlockEntity;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelFluidTankRenderer;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.TransparentStraightPipeRenderer;
|
||||
@@ -162,6 +164,12 @@ public class TFMGBlockEntities {
|
||||
.renderer(() -> PumpjackBaseRenderer::new)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<BlastFurnaceOutputBlockEntity> BLAST_FURNACE_OUTPUT = REGISTRATE
|
||||
.blockEntity("blast_furnace_output", BlastFurnaceOutputBlockEntity::new)
|
||||
.renderer(() -> BlastFurnaceRenderer::new)
|
||||
.validBlocks(TFMGBlocks.BLAST_FURNACE_OUTPUT)
|
||||
.register();
|
||||
|
||||
|
||||
public static void register() {}
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.drmangotea.tfmg.content.gadgets.explosives.napalm.NapalmBombBlock;
|
||||
import com.drmangotea.tfmg.content.items.CoalCokeBlockItem;
|
||||
import com.drmangotea.tfmg.content.items.FossilstoneItem;
|
||||
import com.drmangotea.tfmg.content.deposits.surface_scanner.SurfaceScannerBlock;
|
||||
import com.drmangotea.tfmg.content.machines.metal_processing.blast_furnace.blast_furnace_output.BlastFurnaceOutputBlock;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower.DistillationControllerBlock;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillation_tower.DistillationOutputBlock;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.distillation.distillery.DistilleryControllerBlock;
|
||||
@@ -19,17 +20,17 @@ import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.base.Pumpjac
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.crank.PumpjackCrankBlock;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.hammer_holder.PumpjackHammerHolderBlock;
|
||||
import com.drmangotea.tfmg.content.machines.oil_processing.pumpjack.machine_input.MachineInputBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.EncasedSteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.GlassSteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.SteelPipeAttachmentModel;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.normal.steel.SteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.pumps.TFMGPumpBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.smart_pipes.TFMGSmartFluidPipeBlock;
|
||||
import com.drmangotea.tfmg.content.machines.pipes.valves.TFMGFluidValveBlock;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelFluidTankModel;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankGenerator;
|
||||
import com.drmangotea.tfmg.content.machines.tanks.SteelTankItem;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.steel.EncasedSteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.steel.GlassSteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.steel.SteelPipeAttachmentModel;
|
||||
import com.drmangotea.tfmg.content.pipes.normal.steel.SteelPipeBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.pumps.TFMGPumpBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.smart_pipes.TFMGSmartFluidPipeBlock;
|
||||
import com.drmangotea.tfmg.content.pipes.valves.TFMGFluidValveBlock;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelFluidTankModel;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankBlock;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankGenerator;
|
||||
import com.drmangotea.tfmg.content.tanks.SteelTankItem;
|
||||
import com.simibubi.create.AllBlocks;
|
||||
import com.simibubi.create.AllSpriteShifts;
|
||||
import com.simibubi.create.content.decoration.encasing.CasingBlock;
|
||||
@@ -352,7 +353,7 @@ public static final BlockEntry<DistillationOutputBlock> STEEL_DISTILLATION_OUTPU
|
||||
.build()
|
||||
.lang("Fireproof Brick Reinforcement")
|
||||
.register();
|
||||
public static final BlockEntry<Block> BLAST_FURNACE_OUTPUT = REGISTRATE.block("blast_furnace_output", Block::new)
|
||||
public static final BlockEntry<BlastFurnaceOutputBlock> BLAST_FURNACE_OUTPUT = REGISTRATE.block("blast_furnace_output", BlastFurnaceOutputBlock::new)
|
||||
.initialProperties(() -> Blocks.BRICKS)
|
||||
.properties(p -> p.color(MaterialColor.COLOR_RED))
|
||||
.properties(p -> p.requiresCorrectToolForDrops())
|
||||
|
||||
@@ -31,6 +31,9 @@ public class TFMGItems {
|
||||
ALUMINUM_INGOT = taggedIngredient("aluminum_ingot", forgeItemTag("ingots/aluminum"), CREATE_INGOTS.tag),
|
||||
LEAD_INGOT = taggedIngredient("lead_ingot", forgeItemTag("ingots/lead"), CREATE_INGOTS.tag);
|
||||
|
||||
public static final ItemEntry<Item>
|
||||
COAL_COKE_DUST = taggedIngredient("coal_coke_dust", forgeItemTag("dusts/coal_coke"));
|
||||
|
||||
|
||||
|
||||
public static final ItemEntry<QuadPotatoCannonItem> QUAD_POTATO_CANNON =
|
||||
|
||||
@@ -18,6 +18,7 @@ import java.util.Map;
|
||||
public class TFMGPartialModels {
|
||||
|
||||
public static final PartialModel
|
||||
COAL_COKE_DUST_LAYER = block("coal_coke_dust_layer"),
|
||||
PUMPJACK_HAMMER = block("pumpjack/hammer_holder"),
|
||||
PUMPJACK_FRONT_ROPE = block("pumpjack/pumpjack_front_rope"),
|
||||
PUMPJACK_CONNECTOR = block("pumpjack/pumpjack_connector"),
|
||||
|
||||
@@ -16,5 +16,16 @@
|
||||
"create.goggles.distillation_tower.not_tall_enough": "Distillation Tower is Not Tall Enough",
|
||||
"create.goggles.distillation_tower.level": "Distillation Tower Level: %1$s",
|
||||
"create.goggles.distillation_tower.found_outputs": "Found Outputs: %1$s",
|
||||
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found"
|
||||
"create.goggles.distillation_tower.no_outputs": "No Output Blocks Found",
|
||||
"create.goggles.blast_furnace.stats": "Blast Furnace Stats:",
|
||||
"create.goggles.blast_furnace.size_stats": "Size Stats:",
|
||||
"create.goggles.blast_furnace.fuel_amount": "Fuel Amount: %1$s",
|
||||
"create.goggles.blast_furnace.item_count": "Item Count: %1$s",
|
||||
"create.goggles.blast_furnace.height": "Height: %1$s",
|
||||
"create.goggles.blast_furnace.reinforcement_height": "Reinforcement Height: %1$s",
|
||||
"create.goggles.blast_furnace.status.off": "Status: Off",
|
||||
"create.goggles.blast_furnace.status.running": "Status: Running",
|
||||
"create.goggles.blast_furnace.status.finished": "Status: Process Finished",
|
||||
"create.goggles.blast_furnace.diameter.one": "Diameter: 1",
|
||||
"create.goggles.blast_furnace.diameter.two": "Diameter: 2"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
{
|
||||
"credit": "Made with Blockbench",
|
||||
"textures": {
|
||||
"0": "tfmg:block/steel_block",
|
||||
"particle": "tfmg:block/steel_block"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0, 0.1, 0],
|
||||
"to": [16, 0.1, 16],
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 16, 0], "texture": "#0"},
|
||||
"east": {"uv": [0, 0, 16, 0], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 16, 0], "texture": "#0"},
|
||||
"west": {"uv": [0, 0, 16, 0], "texture": "#0"},
|
||||
"up": {"uv": [0, 0, 16, 16], "texture": "#0"},
|
||||
"down": {"uv": [0, 0, 16, 16], "texture": "#0"}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
BIN
src/main/resources/assets/tfmg/textures/item/coal_coke_dust.png
Normal file
BIN
src/main/resources/assets/tfmg/textures/item/coal_coke_dust.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
Reference in New Issue
Block a user