fixes
This commit is contained in:
@@ -68,12 +68,14 @@ public class TFMG {
|
||||
TFMGPaletteBlocks.init();
|
||||
|
||||
|
||||
|
||||
TFMGParticleTypes.register(modEventBus);
|
||||
TFMGCreativeTabs.register(modEventBus);
|
||||
TFMGMobEffects.register(modEventBus);
|
||||
TFMGRecipeTypes.register(modEventBus);
|
||||
TFMGColoredFires.register(modEventBus);
|
||||
TFMGFeatures.register(modEventBus);
|
||||
TFMGMountedStorageTypes.register();
|
||||
|
||||
modEventBus.addListener(TFMG::onRegister);
|
||||
TFMGPackets.registerPackets();
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.drmangotea.tfmg.content.decoration;
|
||||
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.block.ProperWaterloggedBlock;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
@@ -11,7 +12,7 @@ import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.level.block.state.StateDefinition;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
|
||||
public class FrameBlock extends Block implements ProperWaterloggedBlock {
|
||||
public class FrameBlock extends Block implements ProperWaterloggedBlock, IWrenchable {
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.drmangotea.tfmg.content.decoration;
|
||||
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.block.ProperWaterloggedBlock;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
@@ -17,7 +18,7 @@ import net.minecraft.world.level.block.state.properties.EnumProperty;
|
||||
import net.minecraft.world.level.material.FluidState;
|
||||
import net.minecraft.world.level.material.Fluids;
|
||||
|
||||
public class TrussBlock extends RotatedPillarBlock implements ProperWaterloggedBlock {
|
||||
public class TrussBlock extends RotatedPillarBlock implements ProperWaterloggedBlock, IWrenchable {
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -40,7 +40,6 @@ public class ElectricalNetwork {
|
||||
|
||||
int maxVoltage = 0;
|
||||
int power = 0;
|
||||
int frequency = 0;
|
||||
int resistance = 0;
|
||||
int powerGeneration = 0;
|
||||
|
||||
@@ -53,7 +52,6 @@ public class ElectricalNetwork {
|
||||
|
||||
maxVoltage = Math.max(member.voltageGeneration(), maxVoltage);
|
||||
power += member.powerGeneration();
|
||||
frequency = frequency == 0 ? member.frequencyGeneration() : (frequency + member.frequencyGeneration()) / 2;
|
||||
resistance += (int) member.resistance();
|
||||
powerGeneration += member.powerGeneration();
|
||||
if (member.canBeInGroups())
|
||||
@@ -75,7 +73,6 @@ public class ElectricalNetwork {
|
||||
member.getData().setVoltageNextTick = true;
|
||||
|
||||
member.getData().networkPowerGeneration = powerGeneration;
|
||||
member.setFrequency(frequency);
|
||||
member.setNetworkResistance(resistance);
|
||||
member.onNetworkChanged(oldVoltage, oldPower);
|
||||
|
||||
|
||||
@@ -17,6 +17,7 @@ import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraftforge.network.PacketDistributor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity implements IElectric, IHaveGoggleInformation, IHaveHoveringInformation {
|
||||
@@ -30,21 +31,19 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
public KineticElectricBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
data.connectNextTick = true;
|
||||
if (!canBeInGroups()) {
|
||||
data.group = new ElectricalGroup(-1);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
//@Override
|
||||
//public boolean addToTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||
// CreateLang.text("MAX POWER: "+getNetworkPowerGeneration()).forGoggles(tooltip);
|
||||
// return makeElectricityTooltip(tooltip, isPlayerSneaking);
|
||||
//}
|
||||
@Override
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void addBehaviours(List<BlockEntityBehaviour> behaviours) {}
|
||||
|
||||
@Override
|
||||
public LevelAccessor getLevelAccessor(){
|
||||
public LevelAccessor getLevelAccessor() {
|
||||
return level;
|
||||
}
|
||||
|
||||
@@ -55,7 +54,7 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
|
||||
@Override
|
||||
public ElectricalNetwork getOrCreateElectricNetwork() {
|
||||
if(level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) {
|
||||
if (level.getBlockEntity(BlockPos.of(data.electricalNetworkId)) instanceof IElectric) {
|
||||
return TFMG.NETWORK_MANAGER.getOrCreateNetworkFor((IElectric) level.getBlockEntity(BlockPos.of(data.electricalNetworkId)));
|
||||
} else {
|
||||
ElectricNetworkManager.networks.get(getLevel())
|
||||
@@ -64,6 +63,18 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void lazyTick() {
|
||||
super.lazyTick();
|
||||
if (data.failTimer >= 4) {
|
||||
this.blockFail();
|
||||
data.failTimer = 0;
|
||||
sendStuff();
|
||||
} else if ((data.voltage > getMaxVoltage() && getMaxVoltage() > 0) || (getCurrent() > getMaxCurrent()&&getMaxCurrent()>0)) {
|
||||
data.failTimer++;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElectricBlockValues getData() {
|
||||
return data;
|
||||
@@ -82,20 +93,20 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
|
||||
int voltageGeneration = 0;
|
||||
|
||||
for(Direction direction : Direction.values()){
|
||||
if(hasElectricitySlot(direction)){
|
||||
for (Direction direction : Direction.values()) {
|
||||
if (hasElectricitySlot(direction)) {
|
||||
|
||||
if(level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be)
|
||||
if(be.getData().getId() !=getData().getId())
|
||||
if(be.getData().getVoltage()!=0)
|
||||
if(be.hasElectricitySlot(direction)){
|
||||
voltageGeneration = Math.max(voltageGeneration,be.getOutputVoltage());
|
||||
if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be)
|
||||
if (be.getData().getId() != getData().getId())
|
||||
if (be.getData().getVoltage() != 0)
|
||||
if (be.hasElectricitySlot(direction)) {
|
||||
voltageGeneration = Math.max(voltageGeneration, be.getOutputVoltage());
|
||||
data.getsOutsidePower = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(voltageGeneration == 0)
|
||||
if (voltageGeneration == 0)
|
||||
data.getsOutsidePower = false;
|
||||
|
||||
return voltageGeneration;
|
||||
@@ -108,15 +119,21 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
|
||||
int powerGeneration = 0;
|
||||
|
||||
for(Direction direction : Direction.values()){
|
||||
if(hasElectricitySlot(direction)){
|
||||
for (Direction direction : Direction.values()) {
|
||||
if (hasElectricitySlot(direction)) {
|
||||
|
||||
if(level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be)
|
||||
if(be.getData().getId() !=getData().getId())
|
||||
if(be.getData().getVoltage()!=0)
|
||||
if(be.hasElectricitySlot(direction)){
|
||||
powerGeneration = Math.max(powerGeneration,be.getOutputPower())+10;
|
||||
if (level.getBlockEntity(getBlockPos().relative(direction)) instanceof VoltageAlteringBlockEntity be&&be.canWork()) {
|
||||
|
||||
if (be.getData().getId() != getData().getId())
|
||||
if (be.getData().getVoltage() != 0)
|
||||
if (be.hasElectricitySlot(direction)) {
|
||||
powerGeneration = Math.max(powerGeneration, be.getPowerUsage()) + 1;
|
||||
if(powerGeneration>be.getNetworkPowerGeneration()) {
|
||||
powerGeneration = 0;
|
||||
be.data.updatePowerNextTick=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +145,6 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void updateNextTick() {
|
||||
data.updateNextTick = true;
|
||||
@@ -137,7 +153,7 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
@Override
|
||||
public void updateNetwork() {
|
||||
getOrCreateElectricNetwork().updateNetwork();
|
||||
if(!level.isClientSide)
|
||||
if (!level.isClientSide)
|
||||
TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new NetworkUpdatePacket(BlockPos.of(getPos())));
|
||||
sendData();
|
||||
}
|
||||
@@ -150,8 +166,12 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
@Override
|
||||
public void setVoltage(int newVoltage) {
|
||||
|
||||
if(canBeInGroups()){
|
||||
data.voltage = (int) (((float)resistance()/data.group.resistance)*(float)data.voltageSupply);
|
||||
//if(this instanceof LightBulbBlockEntity be&&be.color == DyeColor.WHITE){
|
||||
// TFMG.LOGGER.debug("Rezistancja Grup "+data.group.resistance);
|
||||
//}
|
||||
|
||||
if (canBeInGroups()) {
|
||||
data.voltage = (int) (((float) resistance() / data.group.resistance) * (float) data.voltageSupply);
|
||||
return;
|
||||
}
|
||||
data.voltage = newVoltage;
|
||||
@@ -173,15 +193,19 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void setNetwork(long network) {
|
||||
this.data.electricalNetworkId = network;
|
||||
if(network!=getPos())
|
||||
if (network != getPos())
|
||||
ElectricNetworkManager.networks.get(getLevel())
|
||||
.remove(getPos());
|
||||
}
|
||||
|
||||
public boolean networkUndersupplied() {
|
||||
return getNetworkPowerUsage() > data.networkPowerGeneration;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public long getPos() {
|
||||
return getBlockPos().asLong();
|
||||
@@ -190,6 +214,7 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
@Override
|
||||
public void remove() {
|
||||
super.remove();
|
||||
|
||||
this.data.destroyed = true;
|
||||
for (Direction d : Direction.values()) {
|
||||
if (hasElectricitySlot(d))
|
||||
@@ -197,41 +222,51 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
ElectricNetworkManager.networks.get(getLevel())
|
||||
.remove(be.getPos());
|
||||
be.setNetwork(be.getPos());
|
||||
be.getData().connectNextTick = true;
|
||||
be.onPlaced();
|
||||
be.updateNextTick();
|
||||
}
|
||||
}
|
||||
if (data.electricalNetworkId != getPos())
|
||||
getOrCreateElectricNetwork().getMembers().remove(this);
|
||||
|
||||
//
|
||||
if (data.electricalNetworkId == getPos())
|
||||
ElectricNetworkManager.networks.get(getLevel())
|
||||
.remove(getData().getId());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void lazyTick() {
|
||||
super.lazyTick();
|
||||
public void tick() {
|
||||
super.tick();
|
||||
if (data.checkForLoopsNextTick) {
|
||||
getOrCreateElectricNetwork().checkForLoops(getBlockPos());
|
||||
data.checkForLoopsNextTick = false;
|
||||
}
|
||||
if (data.connectNextTick) {
|
||||
onPlaced();
|
||||
data.connectNextTick = false;
|
||||
}
|
||||
if (data.updateNextTick) {
|
||||
updateNetwork();
|
||||
data.updateNextTick = false;
|
||||
}
|
||||
|
||||
if(data.failTimer >=4){
|
||||
this.blockFail();
|
||||
data.failTimer = 0;
|
||||
sendStuff();
|
||||
if (data.updatePowerNextTick) {
|
||||
updateUnpowered(new ArrayList<>());
|
||||
data.updatePowerNextTick = false;
|
||||
}
|
||||
if((data.voltage>getMaxVoltage()&&getMaxVoltage()>0)||(getCurrent()>getMaxCurrent()&&getMaxCurrent()>0)){
|
||||
data.failTimer++;
|
||||
if (data.setVoltageNextTick) {
|
||||
setVoltage(data.voltageSupply);
|
||||
data.setVoltageNextTick = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void write(CompoundTag compound, boolean clientPacket) {
|
||||
super.write(compound, clientPacket);
|
||||
|
||||
compound.putInt("GroupId", data.group.id);
|
||||
compound.putFloat("GroupResistance", data.group.resistance);
|
||||
|
||||
compound.putFloat("MotorSpeed", getSpeed());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -239,14 +274,11 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
|
||||
super.read(compound, clientPacket);
|
||||
data.group = new ElectricalGroup(compound.getInt("GroupId"));
|
||||
data.group.resistance = compound.getFloat("GroupResistance");
|
||||
setSpeed(compound.getFloat("MotorSpeed"));
|
||||
if(!clientPacket)
|
||||
if (!clientPacket)
|
||||
data.connectNextTick = true;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onSpeedChanged(float previousSpeed) {
|
||||
super.onSpeedChanged(previousSpeed);
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.electricity.connection.cable_hub;
|
||||
import com.drmangotea.tfmg.content.electricity.base.ElectricBlockEntity;
|
||||
import com.drmangotea.tfmg.content.electricity.base.IElectric;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlockEntities;
|
||||
import com.simibubi.create.content.equipment.wrench.IWrenchable;
|
||||
import com.simibubi.create.foundation.block.IBE;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.world.level.Level;
|
||||
@@ -10,7 +11,7 @@ import net.minecraft.world.level.block.Block;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
|
||||
public class CableHubBlock extends Block implements IBE<CableHubBlockEntity> {
|
||||
public class CableHubBlock extends Block implements IBE<CableHubBlockEntity>, IWrenchable {
|
||||
public CableHubBlock(Properties p_49795_) {
|
||||
super(p_49795_);
|
||||
}
|
||||
|
||||
@@ -239,7 +239,7 @@ public class CableConnectorBlockEntity extends ElectricBlockEntity implements IH
|
||||
|
||||
@Override
|
||||
public AABB getRenderBoundingBox() {
|
||||
return new AABB(getBlockPos()).inflate(10);
|
||||
return new AABB(getBlockPos()).inflate(32);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -38,17 +38,17 @@ public class GeneratorBlockEntity extends KineticElectricBlockEntity {
|
||||
public void updateNetwork() {
|
||||
super.updateNetwork();
|
||||
}
|
||||
|
||||
@Override
|
||||
public float calculateStressApplied() {
|
||||
if(getData().voltageSupply == 0)
|
||||
return super.calculateStressApplied();
|
||||
|
||||
if(getNetworkResistance() ==0)
|
||||
return super.calculateStressApplied();
|
||||
|
||||
return (int)(Math.min(super.calculateStressApplied()+(getGeneratorLoad() * 0.01f), 1000));
|
||||
}
|
||||
//
|
||||
// @Override
|
||||
// public float calculateStressApplied() {
|
||||
// if(getData().voltageSupply == 0)
|
||||
// return super.calculateStressApplied();
|
||||
//
|
||||
// if(getNetworkResistance() ==0)
|
||||
// return super.calculateStressApplied();
|
||||
//
|
||||
// return (int)(Math.min(super.calculateStressApplied()+(getGeneratorLoad() * 0.01f), 1000));
|
||||
// }
|
||||
|
||||
@Override
|
||||
public void onSpeedChanged(float previousSpeed) {
|
||||
|
||||
@@ -90,7 +90,7 @@ public class RotorBlockEntity extends KineticElectricBlockEntity {
|
||||
|
||||
@Override
|
||||
public int powerGeneration() {
|
||||
return generation() * 40;
|
||||
return (int) (generation() * 40*1.84563);
|
||||
}
|
||||
|
||||
public void findStators() {
|
||||
|
||||
@@ -37,7 +37,7 @@ public class ElectricMotorBlockEntity extends KineticElectricBlockEntity {
|
||||
|
||||
public ElectricMotorBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
|
||||
updateGeneratedRotation();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.drmangotea.tfmg.content.electricity.utilities.polarizer;
|
||||
|
||||
import net.minecraft.world.item.Item;
|
||||
|
||||
public class MagnetItem extends Item {
|
||||
public MagnetItem(Properties p_41383_) {
|
||||
super(p_41383_);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isFireResistant() {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -66,7 +66,7 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
||||
|
||||
if (getRecipe(itemStack).isPresent()) {
|
||||
|
||||
TFMGUtils.debugMessage(level, "AMOGUS SIGMA");
|
||||
|
||||
|
||||
chargeCapacitors = true;
|
||||
updateNextTick();
|
||||
@@ -81,6 +81,8 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public float resistance() {
|
||||
return chargeCapacitors ? 30 : 0;
|
||||
@@ -90,6 +92,13 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
||||
@Override
|
||||
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||
|
||||
if(getPowerUsage()<2000&&!inventory.isEmpty()){
|
||||
CreateLang.translate("goggles.polarizer.insufficient_power")
|
||||
.style(ChatFormatting.GRAY)
|
||||
.forGoggles(tooltip, 1);
|
||||
return true;
|
||||
}
|
||||
|
||||
CreateLang.translate("goggles.polarizer.header")
|
||||
.style(ChatFormatting.GRAY)
|
||||
.forGoggles(tooltip, 1);
|
||||
@@ -104,7 +113,7 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
||||
|
||||
@Override
|
||||
public boolean canBeInGroups() {
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -118,7 +127,7 @@ public class PolarizerBlockEntity extends ElectricBlockEntity implements IHaveGo
|
||||
}
|
||||
|
||||
|
||||
if (getPowerUsage() > 2000) {
|
||||
if (getPowerUsage() >= 2000) {
|
||||
if (chargeCapacitors) {
|
||||
if (capacitorPercentage < 200) {
|
||||
capacitorPercentage++;
|
||||
|
||||
@@ -125,7 +125,7 @@ public class TransformerBlockEntity extends VoltageAlteringBlockEntity {
|
||||
CreateLang.text("----------------------------")
|
||||
.style(ChatFormatting.WHITE)
|
||||
.forGoggles(tooltip);
|
||||
CreateLang.translate("multimeter.transformer_ration")
|
||||
CreateLang.translate("multimeter.transformer_ratio")
|
||||
.add(CreateLang.number(coilRatio))
|
||||
.color(0xc6e82c)
|
||||
.forGoggles(tooltip, 1);
|
||||
|
||||
@@ -99,7 +99,7 @@ public class FireboxBlockEntity extends SmartBlockEntity implements IHaveGoggleI
|
||||
if (!wasRunning)
|
||||
level.setBlock(getBlockPos(), getBlockState().setValue(FireboxBlock.HEAT_LEVEL, BlazeBurnerBlock.HeatLevel.FADING), 2);
|
||||
running = true;
|
||||
TFMGUtils.drainFilteredTank((SmartFluidTank) controller.tankInventory, 100);
|
||||
TFMGUtils.drainFilteredTank((SmartFluidTank) controller.tankInventory, 50);
|
||||
if (TFMGConfigs.common().machines.fireboxExhaustRequirement.get()) {
|
||||
TFMGUtils.fillFilteredTank((SmartFluidTank) controller.exhuastTank, new FluidStack(TFMGFluids.CARBON_DIOXIDE.getSource(), 500));
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.drmangotea.tfmg.content.machinery.misc.winding_machine;
|
||||
|
||||
import com.drmangotea.tfmg.TFMG;
|
||||
import com.drmangotea.tfmg.base.TFMGUtils;
|
||||
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection;
|
||||
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnectorBlockEntity;
|
||||
@@ -123,9 +124,10 @@ public class SpoolItem extends Item {
|
||||
|
||||
float wireCost = (connection1.getLength()/8);
|
||||
|
||||
if(stack.getOrCreateTag().getInt("Amount")<wireCost)
|
||||
return InteractionResult.PASS;
|
||||
|
||||
if(stack.getOrCreateTag().getInt("Amount")<wireCost*125) {
|
||||
return InteractionResult.PASS;
|
||||
}
|
||||
if(be.connections.contains(connection1)||otherBE.connections.contains(connection1)){
|
||||
if (level.isClientSide)
|
||||
player.displayClientMessage(CreateLang.translateDirect("wires.connection_already_created")
|
||||
@@ -135,11 +137,12 @@ public class SpoolItem extends Item {
|
||||
be.setChanged();
|
||||
return InteractionResult.SUCCESS;
|
||||
}
|
||||
if(!level.isClientSide) {
|
||||
// if(!level.isClientSide) {
|
||||
be.connections.add(connection1);
|
||||
otherBE.connections.add(connection2);
|
||||
be.onPlaced();
|
||||
}
|
||||
// otherBE.onPlaced();
|
||||
//}
|
||||
|
||||
// connectedBe1.wiresUpdated();
|
||||
stack.getOrCreateTag().putInt("Amount", (int) (stack.getOrCreateTag().getInt("Amount")-(wireCost*125)));
|
||||
|
||||
@@ -33,7 +33,7 @@ public class DistillationControllerRenderer extends SafeBlockEntityRenderer<Dist
|
||||
ms.pushPose();
|
||||
CachedBuffers.partial(TFMGPartialModels.DISTILLATION_CONTROLLER_DIAL,blockState)
|
||||
.center()
|
||||
.rotateY(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
||||
.rotateYDegrees(blockState.getValue(FACING).getAxis() == Direction.Axis.Z ? Math.abs(blockState.getValue(FACING).toYRot() - 180) : blockState.getValue(FACING).toYRot())
|
||||
.translateY(0.01f)
|
||||
.rotateZDegrees(be.angle.getValue(partialTicks))
|
||||
.translateX(0.09f)
|
||||
|
||||
@@ -133,6 +133,7 @@ public class PumpjackBaseBlockEntity extends SmartBlockEntity implements IHaveGo
|
||||
if (tank.getFluidAmount() + miningRate > tank.getCapacity())
|
||||
return;
|
||||
int amountPumped = tank.fill(new FluidStack(TFMGFluids.CRUDE_OIL.getSource(), miningRate), IFluidHandler.FluidAction.EXECUTE);
|
||||
sendData();
|
||||
|
||||
if (amountPumped == 0)
|
||||
return;
|
||||
|
||||
@@ -160,9 +160,13 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
|
||||
int tankNumber = 0;
|
||||
for (int i = 0; i < 8; i++) {
|
||||
IFluidHandler fluidHandler = this.getCapability(ForgeCapabilities.FLUID_HANDLER).orElse(null);
|
||||
fluidLevel[i].chase((double) (fluidHandler.getFluidInTank(tankNumber).getAmount()) / inputTank.getPrimaryHandler().getCapacity(), .5f, LerpedFloat.Chaser.EXP);
|
||||
getFillState();
|
||||
tankNumber++;
|
||||
|
||||
if(fluidHandler != null) {
|
||||
|
||||
fluidLevel[i].chase((double) (fluidHandler.getFluidInTank(tankNumber).getAmount()) / inputTank.getPrimaryHandler().getCapacity(), .5f, LerpedFloat.Chaser.EXP);
|
||||
getFillState();
|
||||
tankNumber++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,15 +7,19 @@ import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock;
|
||||
import com.drmangotea.tfmg.content.machinery.vat.base.VatBlockEntity;
|
||||
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||
import com.drmangotea.tfmg.registry.TFMGPartialModels;
|
||||
import com.simibubi.create.foundation.utility.CreateLang;
|
||||
import dev.engine_room.flywheel.lib.model.baked.PartialModel;
|
||||
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.item.ItemStack;
|
||||
import net.minecraft.world.level.block.entity.BlockEntityType;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import net.minecraft.world.phys.AABB;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements IVatMachine {
|
||||
@@ -48,14 +52,26 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean makeMultimeterTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
|
||||
|
||||
super.makeMultimeterTooltip(tooltip, isPlayerSneaking);
|
||||
if (getCurrent() < TFMGConfigs.common().machines.electrolysisMinimumCurrent.get())
|
||||
CreateLang.translate("goggles.electrode_holder.min_amps")
|
||||
.style(ChatFormatting.RED)
|
||||
.add(CreateLang.text(TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() + "A)"))
|
||||
.forGoggles(tooltip);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public float resistance() {
|
||||
|
||||
if (electrodeType != ElectrodeType.NONE) {
|
||||
if(electrodeType == ElectrodeType.GRAPHITE) {
|
||||
if (electrodeType == ElectrodeType.GRAPHITE) {
|
||||
return 300;
|
||||
}else return 100;
|
||||
} else return 100;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -87,9 +103,8 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
|
||||
}
|
||||
|
||||
|
||||
|
||||
boolean isOperational() {
|
||||
return getCurrent() >= TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()&&canWork();
|
||||
return getCurrent() >= TFMGConfigs.common().machines.electrolysisMinimumCurrent.get() && canWork();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -119,7 +134,6 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
|
||||
public String getOperationId() {
|
||||
|
||||
|
||||
|
||||
return switch (electrodeType) {
|
||||
|
||||
case NONE -> "";
|
||||
|
||||
@@ -40,6 +40,7 @@ import net.minecraftforge.common.crafting.CraftingHelper;
|
||||
import net.minecraftforge.common.crafting.conditions.ICondition;
|
||||
import net.minecraftforge.common.crafting.conditions.ModLoadedCondition;
|
||||
import net.minecraftforge.common.crafting.conditions.NotCondition;
|
||||
import net.minecraftforge.registries.ForgeRegistries;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -335,7 +336,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("PIP")
|
||||
.pattern(" ")),
|
||||
|
||||
STEEL_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).withSuffix("_vertical")
|
||||
STEEL_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.STEEL).get(0)).withSuffix("_vertical").returns(4)
|
||||
.unlockedBy(TFMGItems.STEEL_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('I', steelIngot())
|
||||
@@ -375,7 +376,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("PIP")
|
||||
.pattern(" ")),
|
||||
|
||||
ALUMINUM_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).withSuffix("_vertical")
|
||||
ALUMINUM_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.ALUMINUM).get(0)).withSuffix("_vertical").returns(4)
|
||||
.unlockedBy(TFMGItems.ALUMINUM_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('I', aluminumIngot())
|
||||
@@ -414,7 +415,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("III")
|
||||
.pattern(" ")),
|
||||
|
||||
PLASTIC_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).withSuffix("_vertical")
|
||||
PLASTIC_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0)).withSuffix("_vertical").returns(4)
|
||||
.unlockedBy(TFMGItems.PLASTIC_SHEET::get)
|
||||
.viaShaped(b -> b
|
||||
.define('I', plasticSheet())
|
||||
@@ -453,7 +454,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("PIP")
|
||||
.pattern(" ")),
|
||||
|
||||
BRASS_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).withSuffix("_vertical")
|
||||
BRASS_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.BRASS).get(0)).withSuffix("_vertical").returns(4)
|
||||
.unlockedBy(AllItems.BRASS_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('I', brassIngot())
|
||||
@@ -493,7 +494,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("PIP")
|
||||
.pattern(" ")),
|
||||
|
||||
CAST_IRON_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).withSuffix("_vertical")
|
||||
CAST_IRON_PIPE_VERTICAL = create(TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.CAST_IRON).get(0)).withSuffix("_vertical").returns(4)
|
||||
.unlockedBy(TFMGItems.CAST_IRON_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('I', castIronIngot())
|
||||
@@ -597,7 +598,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("NNN")
|
||||
.pattern("PPP")),
|
||||
|
||||
STEEL_VAT = create(TFMGBlocks.STEEL_CHEMICAL_VAT)
|
||||
STEEL_VAT = create(TFMGBlocks.STEEL_CHEMICAL_VAT).returns(2)
|
||||
.unlockedBy(TFMGItems.STEEL_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('T', steelTank())
|
||||
@@ -629,6 +630,15 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("NTN")
|
||||
.pattern("PHP")),
|
||||
|
||||
UNFINISHED_ELECTROMAGNETIC_COIL = create(TFMGItems.UNFINISHED_ELECTROMAGNETIC_COIL).returns(2)
|
||||
.unlockedBy(TFMGItems.STEEL_INGOT::get)
|
||||
.viaShaped(b -> b
|
||||
.define('M', magneticIngot())
|
||||
.define('N', steelNugget())
|
||||
.pattern(" N ")
|
||||
.pattern(" M ")
|
||||
.pattern(" N ")),
|
||||
|
||||
RAW_LEAD_BLOCK = create(TFMGBlocks.RAW_LEAD_BLOCK)
|
||||
.unlockedBy(TFMGItems.RAW_LEAD::get)
|
||||
.viaShaped(b -> b
|
||||
@@ -653,7 +663,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.pattern("BBB")
|
||||
.pattern("BBB")),
|
||||
|
||||
AIR_INTAKE = create(TFMGBlocks.AIR_INTAKE)
|
||||
AIR_INTAKE = create(TFMGBlocks.AIR_INTAKE).returns(3)
|
||||
.unlockedBy(AllItems.PROPELLER::get)
|
||||
.viaShaped(b -> b
|
||||
.define('B', AllBlocks.ANDESITE_BARS)
|
||||
@@ -755,7 +765,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.viaShaped(b -> b
|
||||
.define('C', copperNugget())
|
||||
.define('W', framedGlass())
|
||||
.define('N', TFMGFluids.NEON.getBucket().get())
|
||||
.define('N', ForgeRegistries.ITEMS.getValue(TFMG.asResource("neon_bucket")))
|
||||
.define('O', steelNugget())
|
||||
.pattern("OCO")
|
||||
.pattern("NWN")
|
||||
@@ -870,7 +880,7 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.viaShaped(b -> b
|
||||
.define('M', magnet())
|
||||
.define('N', steelNugget())
|
||||
.define('A', aluminumIngot())
|
||||
.define('A', steelIngot())
|
||||
.define('C', Items.COMPASS)
|
||||
.pattern("NNN")
|
||||
.pattern("NCN")
|
||||
@@ -1687,9 +1697,10 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
|
||||
.viaShaped(b -> b
|
||||
.define('O', heavyPlate())
|
||||
.define('I', steelIngot())
|
||||
.pattern(" IO")
|
||||
.pattern(" IO")
|
||||
.pattern(" IO")),
|
||||
.define('B', fireproofBricks())
|
||||
.pattern("IOB")
|
||||
.pattern("IOB")
|
||||
.pattern("IOB")),
|
||||
|
||||
FIREPROOF_BRICK_REINFORCEMENT = create(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT).returns(6)
|
||||
.unlockedBy(TFMGBlocks.FIREPROOF_BRICKS::get)
|
||||
|
||||
@@ -16,10 +16,6 @@ public class TFMGCompactingRecipeGen extends TFMGPressingRecipeGen {
|
||||
.output(bitumen(), 1)
|
||||
.requiresHeat(HeatCondition.HEATED)
|
||||
),
|
||||
PLASTIC_SHEET = create("plastic_sheet", b -> b
|
||||
.require(liquidPlastic(),200)
|
||||
.output(plasticSheet(), 1)
|
||||
),
|
||||
CINDERFLOURBLOCK = create("cinderflourblock", b -> b
|
||||
.require(cinderFlour())
|
||||
.require(cinderFlour())
|
||||
|
||||
@@ -29,6 +29,10 @@ public class TFMGCrushingRecipeGen extends TFMGProcessingRecipeGen {
|
||||
LIMESAND = create(I::limestone, b -> b
|
||||
.output(limesand(), 1)
|
||||
),
|
||||
SLAG = create(TFMGBlocks.SLAG_BLOCK::get, b -> b
|
||||
.output(slag(), 2)
|
||||
.output(.3f,slag())
|
||||
),
|
||||
COAL_COKE = create(I::coalCoke, b -> b
|
||||
.output(coalCokeDust(), 1)
|
||||
),
|
||||
|
||||
@@ -37,14 +37,14 @@ public class TFMGMixingRecipeGen extends TFMGProcessingRecipeGen {
|
||||
.require(sand())
|
||||
.require(bitumen())
|
||||
.require(gravel())
|
||||
.output(concreteMixture(),16)
|
||||
.output(asphaltMixture(),16)
|
||||
),
|
||||
|
||||
ASPHALT_MIXTURE_FROM_SLAG = create("asphalt_mixture_from_slag", b -> b
|
||||
.require(slag())
|
||||
.require(bitumen())
|
||||
.require(gravel())
|
||||
.output(concreteMixture(),32)
|
||||
.output(asphaltMixture(),32)
|
||||
),
|
||||
|
||||
CONCRETE_MIXTURE = create("concrete_mixture", b -> b
|
||||
|
||||
@@ -87,7 +87,7 @@ public class TFMGSequencedAssemblyRecipeGen extends CreateRecipeProvider {
|
||||
),
|
||||
|
||||
MOTOR = create("motor", b -> b.require(shaft())
|
||||
.transitionTo(TFMGItems.UNFINISHED_GENERATOR.get())
|
||||
.transitionTo(TFMGItems.UNFINISHED_ELECTRIC_MOTOR.get())
|
||||
.addOutput(TFMGBlocks.ELECTRIC_MOTOR.get(), 120)
|
||||
.addOutput(TFMGBlocks.STEEL_CASING.get(), 8)
|
||||
.addOutput(TFMGItems.NICKEL_SHEET.get(), 8)
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.drmangotea.tfmg.datagen.recipes.values.tfmg;
|
||||
|
||||
import com.drmangotea.tfmg.datagen.recipes.TFMGProcessingRecipeGen;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.drmangotea.tfmg.registry.TFMGFluids;
|
||||
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||
import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
|
||||
@@ -15,10 +16,27 @@ public class CastingRecipeGen extends TFMGProcessingRecipeGen {
|
||||
.output(TFMGItems.STEEL_INGOT)
|
||||
.duration(200)),
|
||||
|
||||
|
||||
PLASTIC_SHEET = create("plastic_sheet", b ->b
|
||||
.require(TFMGFluids.MOLTEN_PLASTIC.get(),200)
|
||||
.output(TFMGItems.PLASTIC_SHEET)
|
||||
.duration(100)),
|
||||
|
||||
SLAG_BLOCK = create("slag_block", b ->b
|
||||
.require(TFMGFluids.MOLTEN_SLAG.get(),20)
|
||||
.output(TFMGBlocks.SLAG_BLOCK)
|
||||
.duration(50)),
|
||||
|
||||
CINDERBLOCK = create("cinderblock", b ->b
|
||||
.require(TFMGFluids.LIQUID_CONCRETE.get(),144)
|
||||
.output(TFMGItems.CINDERBLOCK)
|
||||
.duration(50)),
|
||||
|
||||
SILICON = create("silicon", b ->b
|
||||
.require(TFMGFluids.LIQUID_SILICON.get(),144)
|
||||
.output(TFMGItems.SILICON_INGOT)
|
||||
.duration(200));
|
||||
|
||||
;
|
||||
public CastingRecipeGen(PackOutput output) {
|
||||
super(output);
|
||||
|
||||
@@ -35,17 +35,17 @@ public class DistillationRecipeGen extends TFMGProcessingRecipeGen {
|
||||
HEAVY_OIL = create("heavy_oil", b ->b
|
||||
.require(heavyOil(),200)
|
||||
.output(heavyOil(), 100)
|
||||
.output(lubricationOil(), 25)
|
||||
.output(diesel(), 50)
|
||||
.output(kerosene(), 20)
|
||||
.output(naphtha(), 5)
|
||||
.output(lubricationOil(), 25)),
|
||||
.output(naphtha(), 5)),
|
||||
|
||||
HEAVY_OIL_NO_NAPHTHA = create("heavy_oil_no_naphtha", b ->b
|
||||
.require(heavyOil(),200)
|
||||
.output(heavyOil(), 100)
|
||||
.output(lubricationOil(), 30)
|
||||
.output(diesel(), 50)
|
||||
.output(kerosene(), 20)
|
||||
.output(lubricationOil(), 30)),
|
||||
.output(kerosene(), 20)),
|
||||
|
||||
HEAVY_OIL_LIGHT_DISTILLATION = create("heavy_oil_light_distillation", b ->b
|
||||
.require(heavyOil(),200)
|
||||
|
||||
@@ -13,10 +13,10 @@ public class HotBlastRecipeGen extends TFMGProcessingRecipeGen {
|
||||
|
||||
|
||||
HOT_AIR = create("hot_air", b ->b
|
||||
.require(air(),5)
|
||||
.require(air(),25)
|
||||
.require(TFMGTags.TFMGFluidTags.BLAST_STOVE_FUEL.tag,5)
|
||||
.output(hotAir(), 5)
|
||||
.output(carbonDioxide(), 5)
|
||||
.output(hotAir(), 25)
|
||||
.output(carbonDioxide(), 25)
|
||||
.duration(200));
|
||||
public HotBlastRecipeGen(PackOutput output) {
|
||||
super(output);
|
||||
|
||||
@@ -51,16 +51,31 @@ public class VatRecipeGen extends TFMGRecipeProvider {
|
||||
.require(nitrateDust())
|
||||
.output(sulfuricAcid(), 500)
|
||||
,mixing()),
|
||||
|
||||
RUBBER = createVatRecipe("rubber", b -> (VatMachineRecipeBuilder) b
|
||||
.require(heavyOil(), 250)
|
||||
.require(sulfurDust())
|
||||
.output(rubber())
|
||||
.requiresHeat(HeatCondition.HEATED)
|
||||
,mixing()),
|
||||
|
||||
NAPHTHA = createVatRecipe("naphtha", b -> (VatMachineRecipeBuilder) b
|
||||
.require(naphtha(), 500)
|
||||
.output(ethylene(), 250)
|
||||
.output(propylene(), 250)
|
||||
.requiresHeat(HeatCondition.HEATED)
|
||||
,mixing()),
|
||||
|
||||
PLASTIC_FROM_ETHYLENE = createVatRecipe("plastic_from_ethylene", b -> (VatMachineRecipeBuilder) b
|
||||
.require(ethylene(), 500)
|
||||
.output(liquidPlastic(), 500)
|
||||
.requiresHeat(HeatCondition.HEATED)
|
||||
,new VatRecipeParams()),
|
||||
,mixing()),
|
||||
PLASTIC_FROM_PROPYLENE = createVatRecipe("plastic_from_propylene", b -> (VatMachineRecipeBuilder) b
|
||||
.require(propylene(), 500)
|
||||
.output(liquidPlastic(), 500)
|
||||
.requiresHeat(HeatCondition.HEATED)
|
||||
,new VatRecipeParams()),
|
||||
,mixing()),
|
||||
ETCHED_CIRCUIT_BOARD = createVatRecipe("etched_circuit_board", b -> (VatMachineRecipeBuilder) b
|
||||
.require(TFMGItems.COATED_CIRCUIT_BOARD)
|
||||
.require(TFMGFluids.SULFURIC_ACID.getSource(), 250)
|
||||
@@ -104,12 +119,18 @@ public class VatRecipeGen extends TFMGRecipeProvider {
|
||||
VatRecipeParams params = new VatRecipeParams();
|
||||
params.machines.add("tfmg:electrode");
|
||||
params.machines.add("tfmg:electrode");
|
||||
params.allowedVatTypes = new ArrayList<>();
|
||||
params.allowedVatTypes.add("tfmg:steel_vat");
|
||||
params.allowedVatTypes.add("tfmg:firebrick_lined_vat");
|
||||
return params;
|
||||
}
|
||||
|
||||
public VatRecipeParams mixing() {
|
||||
VatRecipeParams params = new VatRecipeParams();
|
||||
params.machines.add("tfmg:mixing");
|
||||
params.allowedVatTypes = new ArrayList<>();
|
||||
params.allowedVatTypes.add("tfmg:steel_vat");
|
||||
params.allowedVatTypes.add("tfmg:firebrick_lined_vat");
|
||||
return params;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.recipes.jei;
|
||||
import com.drmangotea.tfmg.TFMG;
|
||||
import com.drmangotea.tfmg.recipes.*;
|
||||
import com.drmangotea.tfmg.registry.TFMGBlocks;
|
||||
import com.drmangotea.tfmg.registry.TFMGItems;
|
||||
import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.compat.jei.*;
|
||||
@@ -96,6 +97,7 @@ public class TFMGJei implements IModPlugin {
|
||||
casting = builder(CastingRecipe.class)
|
||||
.addTypedRecipes(TFMGRecipeTypes.CASTING)
|
||||
.catalyst(TFMGBlocks.CASTING_BASIN::get)
|
||||
.catalyst(TFMGItems.STEEL_INGOT::get)
|
||||
.itemIcon(TFMGBlocks.CASTING_BASIN.get())
|
||||
.emptyBackground(177, 53)
|
||||
.build("casting", CastingCategory::new),
|
||||
|
||||
@@ -24,7 +24,7 @@ public class Polarizer extends AnimatedKinetics {
|
||||
matrixStack.translate(-2.0, 18.0, 0.0);
|
||||
int scale = 22;
|
||||
|
||||
GuiGameElement.of(TFMGBlocks.POLARIZER.getDefaultState().setValue(PolarizerBlock.FACING, Direction.NORTH)).rotateBlock(22.5, 22.5, 0.0).scale(scale).render(graphics);
|
||||
GuiGameElement.of(TFMGBlocks.POLARIZER.getDefaultState().setValue(PolarizerBlock.FACING, Direction.SOUTH)).rotateBlock(22.5, 22.5, 0.0).scale(scale).render(graphics);
|
||||
matrixStack.popPose();
|
||||
}
|
||||
}
|
||||
@@ -112,6 +112,7 @@ import com.drmangotea.tfmg.content.machinery.vat.base.VatBlock;
|
||||
import com.drmangotea.tfmg.content.machinery.vat.base.VatGenerator;
|
||||
import com.drmangotea.tfmg.content.machinery.vat.electrode_holder.ElectrodeHolderBlock;
|
||||
import com.drmangotea.tfmg.content.machinery.vat.industrial_mixer.IndustrialMixerBlock;
|
||||
import com.simibubi.create.AllMountedStorageTypes;
|
||||
import com.simibubi.create.AllTags;
|
||||
import com.simibubi.create.api.stress.BlockStressValues;
|
||||
import com.simibubi.create.content.contraptions.bearing.StabilizedBearingMovementBehaviour;
|
||||
@@ -122,6 +123,7 @@ import com.simibubi.create.content.decoration.encasing.CasingBlock;
|
||||
import com.simibubi.create.content.decoration.encasing.EncasedCTBehaviour;
|
||||
import com.simibubi.create.content.decoration.encasing.EncasingRegistry;
|
||||
import com.simibubi.create.content.decoration.slidingDoor.SlidingDoorBlock;
|
||||
import com.simibubi.create.content.fluids.tank.FluidTankMovementBehavior;
|
||||
import com.simibubi.create.content.kinetics.gearbox.GearboxBlock;
|
||||
import com.simibubi.create.content.kinetics.motor.CreativeMotorGenerator;
|
||||
import com.simibubi.create.content.kinetics.simpleRelays.BracketedKineticBlockModel;
|
||||
@@ -149,6 +151,7 @@ import static com.drmangotea.tfmg.TFMG.REGISTRATE;
|
||||
import static com.drmangotea.tfmg.base.TFMGBuilderTransformers.*;
|
||||
import static com.drmangotea.tfmg.content.electricity.lights.LightBulbBlock.LIGHT;
|
||||
import static com.simibubi.create.api.behaviour.movement.MovementBehaviour.movementBehaviour;
|
||||
import static com.simibubi.create.api.contraption.storage.fluid.MountedFluidStorageType.mountedFluidStorage;
|
||||
import static com.simibubi.create.foundation.data.BlockStateGen.axisBlock;
|
||||
import static com.simibubi.create.foundation.data.BlockStateGen.simpleCubeAll;
|
||||
import static com.simibubi.create.foundation.data.CreateRegistrate.casingConnectivity;
|
||||
@@ -244,6 +247,8 @@ public class TFMGBlocks {
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true))
|
||||
.transform(pickaxeOnly())
|
||||
.transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK))
|
||||
.onRegister(movementBehaviour(new FluidTankMovementBehavior()))
|
||||
.blockstate(new TFMGTankGenerator()::generate)
|
||||
.onRegister(CreateRegistrate.blockModel(() -> AluminumFluidTankModel::standard))
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
@@ -256,6 +261,8 @@ public class TFMGBlocks {
|
||||
.initialProperties(SharedProperties::copperMetal)
|
||||
.properties(p -> p.sound(SoundType.METAL))
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK))
|
||||
.onRegister(movementBehaviour(new FluidTankMovementBehavior()))
|
||||
.properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true))
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(new TFMGTankGenerator()::generate)
|
||||
@@ -267,7 +274,6 @@ public class TFMGBlocks {
|
||||
.register();
|
||||
|
||||
//------------------DISTILLATION_TOWER------------------//
|
||||
@SuppressWarnings("'addLayer(java.util.function.Supplier<java.util.function.Supplier<net.minecraft.client.renderer.RenderType>>)' is deprecated and marked for removal ")
|
||||
public static final BlockEntry<SteelTankBlock> STEEL_FLUID_TANK =
|
||||
REGISTRATE.block("steel_fluid_tank", SteelTankBlock::regular)
|
||||
.initialProperties(SharedProperties::copperMetal)
|
||||
@@ -276,6 +282,8 @@ public class TFMGBlocks {
|
||||
.properties(p -> p.isRedstoneConductor((p1, p2, p3) -> true))
|
||||
.transform(pickaxeOnly())
|
||||
.blockstate(new TFMGTankGenerator()::generate)
|
||||
.transform(mountedFluidStorage(TFMGMountedStorageTypes.TFMG_FLUID_TANK))
|
||||
.onRegister(movementBehaviour(new FluidTankMovementBehavior()))
|
||||
.onRegister(CreateRegistrate.blockModel(() -> SteelFluidTankModel::standard))
|
||||
.addLayer(() -> RenderType::cutoutMipped)
|
||||
.item(SteelTankItem::new)
|
||||
@@ -696,6 +704,7 @@ public class TFMGBlocks {
|
||||
.initialProperties(SharedProperties::softMetal)
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.transform(pickaxeOnly())
|
||||
.transform(TFMGStress.setImpact(4.0))
|
||||
.blockstate(BlockStateGen.horizontalBlockProvider(true))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
@@ -881,7 +890,7 @@ public class TFMGBlocks {
|
||||
.initialProperties(() -> Blocks.IRON_BLOCK)
|
||||
.transform(pickaxeOnly())
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.transform(TFMGStress.setImpact(5.0f))
|
||||
.transform(TFMGStress.setImpact(50.0f))
|
||||
.blockstate(BlockStateGen.directionalBlockProvider(true))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
@@ -1202,7 +1211,7 @@ public class TFMGBlocks {
|
||||
.transform(pickaxeOnly())
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.blockstate(BlockStateGen.axisBlockProvider(true))
|
||||
.transform(TFMGStress.setImpact(10))
|
||||
.transform(TFMGStress.setImpact(240))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.register();
|
||||
@@ -1675,7 +1684,7 @@ public class TFMGBlocks {
|
||||
.strength(3.0F)
|
||||
.requiresCorrectToolForDrops()
|
||||
.sound(SoundType.CALCITE))
|
||||
.recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.SLAG_BLOCK.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 1))
|
||||
.recipe((c, p) -> p.stonecutting(DataIngredient.items(TFMGBlocks.SLAG_BLOCK.asItem()), RecipeCategory.BUILDING_BLOCKS, c::get, 4))
|
||||
.transform(pickaxeOnly())
|
||||
.simpleItem()
|
||||
.register();
|
||||
|
||||
@@ -8,7 +8,7 @@ import com.drmangotea.tfmg.content.electricity.configuration_wrench.Electricians
|
||||
import com.drmangotea.tfmg.content.electricity.connection.cables.CableConnection;
|
||||
import com.drmangotea.tfmg.content.electricity.debug.DebugCinderBlockItem;
|
||||
import com.drmangotea.tfmg.content.electricity.measurement.MultimeterItem;
|
||||
import com.drmangotea.tfmg.content.electricity.utilities.fuse_block.FuseItem;
|
||||
import com.drmangotea.tfmg.content.electricity.utilities.polarizer.MagnetItem;
|
||||
import com.drmangotea.tfmg.content.electricity.utilities.resistor.ResistorItem;
|
||||
import com.drmangotea.tfmg.content.electricity.utilities.transformer.ElectromagneticCoilItem;
|
||||
import com.drmangotea.tfmg.content.engines.CylinderItem;
|
||||
@@ -123,16 +123,15 @@ public class TFMGItems {
|
||||
STEEL_MECHANISM = REGISTRATE.item("steel_mechanism", Item::new).register(),
|
||||
NITRATE_DUST = REGISTRATE.item("nitrate_dust", Item::new).register(),
|
||||
CONCRETE_MIXTURE = REGISTRATE.item("concrete_mixture", Item::new).register(),
|
||||
ASPHALT_MIXTURE = REGISTRATE.item("concrete_mixture", Item::new).register(),
|
||||
ASPHALT_MIXTURE = REGISTRATE.item("asphalt_mixture", Item::new).register(),
|
||||
MAGNETIC_ALLOY_INGOT = REGISTRATE.item("magnetic_alloy_ingot", Item::new).register(),
|
||||
BAUXITE_POWDER = REGISTRATE.item("bauxite_powder", Item::new).register(),
|
||||
MAGNET = REGISTRATE.item("magnet", Item::new).register(),
|
||||
EMPTY_CIRCUIT_BOARD = REGISTRATE.item("empty_circuit_board", Item::new).register(),
|
||||
|
||||
EMPTY_CIRCUIT_BOARD = REGISTRATE.item("empty_circuit_board", Item::new).register(),
|
||||
COATED_CIRCUIT_BOARD = REGISTRATE.item("coated_circuit_board", Item::new).register(),
|
||||
ETCHED_CIRCUIT_BOARD = REGISTRATE.item("etched_circuit_board", Item::new).register(),
|
||||
CIRCUIT_BOARD = REGISTRATE.item("circuit_board", Item::new).register(),
|
||||
TRANSISTOR = REGISTRATE.item("transistor_item", Item::new).lang("Transistor")
|
||||
.properties(p -> p.stacksTo(1)).register(),
|
||||
TRANSISTOR = REGISTRATE.item("transistor_item", Item::new).lang("Transistor").register(),
|
||||
CAPACITOR = REGISTRATE.item("capacitor_item", Item::new).lang("Capacitor").register(),
|
||||
COPPER_SULFATE = REGISTRATE.item("copper_sulfate", Item::new).register(),
|
||||
LITHIUM_CHARGE = REGISTRATE.item("lithium_charge", Item::new).register(),
|
||||
@@ -177,6 +176,8 @@ public class TFMGItems {
|
||||
TRANSMISSION = REGISTRATE.item("transmission", TransmissionItem::new)
|
||||
.properties(p -> p.stacksTo(1))
|
||||
.model((c, p) -> p.withExistingParent(c.getName(), TFMG.asResource("item/transmission_model"))).register();
|
||||
public static final ItemEntry<MagnetItem>
|
||||
MAGNET = REGISTRATE.item("magnet", MagnetItem::new).register();
|
||||
|
||||
public static final ItemEntry<ResistorItem>
|
||||
UNFINISHED_RESISTOR = REGISTRATE.item("unfinished_resistor", ResistorItem::new).register();
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.drmangotea.tfmg.registry;
|
||||
|
||||
import com.simibubi.create.api.contraption.storage.fluid.MountedFluidStorageType;
|
||||
import com.simibubi.create.content.fluids.tank.storage.FluidTankMountedStorageType;
|
||||
import com.tterrag.registrate.util.entry.RegistryEntry;
|
||||
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import static com.drmangotea.tfmg.TFMG.REGISTRATE;
|
||||
|
||||
public class TFMGMountedStorageTypes {
|
||||
|
||||
public static final RegistryEntry<FluidTankMountedStorageType> TFMG_FLUID_TANK = simpleFluid("tfmg_fluid_tank", FluidTankMountedStorageType::new);
|
||||
|
||||
|
||||
private static <T extends MountedFluidStorageType<?>> RegistryEntry<T> simpleFluid(String name, Supplier<T> supplier) {
|
||||
return REGISTRATE.mountedFluidStorage(name, supplier).register();
|
||||
}
|
||||
|
||||
public static void register() {
|
||||
}
|
||||
}
|
||||
@@ -33,7 +33,7 @@ public class TFMGBiomeModifiers {
|
||||
public static void bootstrap(BootstapContext<BiomeModifier> ctx) {
|
||||
HolderGetter<Biome> biomeLookup = ctx.lookup(Registries.BIOME);
|
||||
HolderSet<Biome> isOverworld = biomeLookup.getOrThrow(BiomeTags.IS_OVERWORLD);
|
||||
HolderSet<Biome> isNether = biomeLookup.getOrThrow(Tags.Biomes.IS_DESERT);
|
||||
HolderSet<Biome> isNether = biomeLookup.getOrThrow(BiomeTags.IS_NETHER);
|
||||
|
||||
|
||||
HolderSet<Biome> isDesert = biomeLookup.getOrThrow(BiomeTags.HAS_DESERT_PYRAMID);
|
||||
|
||||
@@ -88,7 +88,7 @@ public class TFMGLayeredPatterns {
|
||||
.inNether()
|
||||
.layer(l -> l.weight(2)
|
||||
.passiveBlock())
|
||||
.layer(l -> l.weight(2)
|
||||
.layer(l -> l.weight(4)
|
||||
.block(TFMGBlocks.SULFUR.get())
|
||||
.size(1, 2))
|
||||
.layer(l -> l.weight(3)
|
||||
@@ -108,7 +108,7 @@ public class TFMGLayeredPatterns {
|
||||
.inNether()
|
||||
.layer(l -> l.weight(2)
|
||||
.passiveBlock())
|
||||
.layer(l -> l.weight(2)
|
||||
.layer(l -> l.weight(5)
|
||||
.block(TFMGBlocks.FIRECLAY.get())
|
||||
.size(1, 2))
|
||||
.layer(l -> l.weight(3)
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
|
||||
"create.goggles.polarizer.header": "Polarizer",
|
||||
"create.goggles.polarizer.charge": "Charge: ",
|
||||
"create.goggles.polarizer.insufficient_power": "Not Enough Power (Needs 2000W)",
|
||||
|
||||
"create.goggles.electric_machine.no_power": "No Power",
|
||||
"create.goggles.electricity.insufficient_voltage": "Insufficient Voltage",
|
||||
@@ -79,6 +80,8 @@
|
||||
"create.goggles.engine.pistons_missing": "Pistons Missing",
|
||||
"create.goggles.engine.turbines_missing": "Turbines Missing",
|
||||
|
||||
"create.goggles.electrode_holder.min_amps": "Not Enough Current (Needs ",
|
||||
|
||||
"create.goggles.vat.header": "Chemical Vat",
|
||||
"create.goggles.vat.attachments": "Attachments:",
|
||||
"create.goggles.vat.contents": "Vat Contents:",
|
||||
@@ -88,7 +91,7 @@
|
||||
"create.goggles.vat.superheated": "Superheated",
|
||||
"create.goggles.vat.tfmg.graphite_electrode": " Graphite Electrode",
|
||||
"create.goggles.vat.tfmg.electrode": " Electrode",
|
||||
"create.goggles.vat.tfmg.mixer": " Mixer",
|
||||
"create.goggles.vat.tfmg.mixing": " Mixer",
|
||||
"create.goggles.vat.tfmg.centrifuge": " Centrifuge",
|
||||
|
||||
|
||||
@@ -117,6 +120,8 @@
|
||||
"create.tooltip.cylinder": "Supported Fuels:",
|
||||
"create.tooltip.fluid_item": "Fluid Amount: %1$s",
|
||||
|
||||
"create.recipe.assembly.winding": "Wind %1$s",
|
||||
|
||||
"create.recipe.distillation": "Distillation",
|
||||
"create.recipe.advanced_distillation": "Advanced Distillation",
|
||||
"create.recipe.industrial_blasting": "Industrial Blasting",
|
||||
@@ -140,6 +145,7 @@
|
||||
"create.multimeter.power_percentage": " Grid Strength: ",
|
||||
"create.multimeter.energy_usage": " Energy Usage: ",
|
||||
"create.multimeter.energy_stored": " Energy Stored: ",
|
||||
"create.multimeter.transformer_ratio": " Turn Ratio: ",
|
||||
|
||||
"item.minecraft.potion.effect.hellfire_potion": "Potion of Hellfire",
|
||||
"item.minecraft.splash_potion.effect.hellfire_potion": "Splash Potion of Hellfire",
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 246 B After Width: | Height: | Size: 472 B |
@@ -9,6 +9,7 @@
|
||||
"FluidPropagatorMixin",
|
||||
"GoggleOverlayRendererMixin",
|
||||
"PipeAttachmentModelMixin",
|
||||
|
||||
"FluidTankBlockEntityMixin",
|
||||
"accessor.FluidTankBlockEntityAccessor",
|
||||
"accessor.TankSegmentAccessor"
|
||||
|
||||
Reference in New Issue
Block a user