diff --git a/changelog.txt b/changelog.txt index 75a7e12..b3b280b 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,2 +1,4 @@ -2.0.2-alpha: - - Update to support Minecraft 1.18.2, Create 0.4.1, Flywheel 0.6.2, and Forge 40.0.0 \ No newline at end of file +2.0.3-alpha: + - Updated Steam particles + - Improved Steam Engine Logics + - Fix cogwheels' breaking particles \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index dad23d3..a7dd5c0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ org.gradle.jvmargs=-Xmx3G org.gradle.daemon=false # mod version info -mod_version = 2.0.2-alpha +mod_version = 2.0.3-alpha minecraft_version = 1.18.2 forge_version = 40.0.34 diff --git a/src/main/java/com/teammoeg/steampowered/client/ParticleBase.java b/src/main/java/com/teammoeg/steampowered/client/ParticleBase.java index c48e8b5..057c6bd 100644 --- a/src/main/java/com/teammoeg/steampowered/client/ParticleBase.java +++ b/src/main/java/com/teammoeg/steampowered/client/ParticleBase.java @@ -35,8 +35,13 @@ public class ParticleBase extends TextureSheetParticle { public ParticleBase(ClientLevel world, double x, double y, double z, double motionX, double motionY, double motionZ) { super(world, x, y, z, motionX, motionY, motionZ); + this.xd*=1.25; + this.yd*=1.25; + this.zd*=1.25; } + + public ParticleRenderType getRenderType() { return ParticleRenderType.PARTICLE_SHEET_TRANSLUCENT; } @@ -46,8 +51,8 @@ public class ParticleBase extends TextureSheetParticle { float age = (this.age + pt) / lifetime * 32.0F; age = Mth.clamp(age, 0.0F, 1.0F); - - super.quadSize = originalScale * age; + super.alpha=Mth.clamp(1-(this.age + pt) / lifetime, 0.0F, 1.0F); + super.quadSize = originalScale*(age+this.age*0.0375F); super.render(worldRendererIn, entityIn, pt); } @@ -58,7 +63,6 @@ public class ParticleBase extends TextureSheetParticle { if (age >= lifetime) super.remove(); this.age++; - this.yd -= 0.04D * gravity; move(xd,yd, zd); @@ -66,7 +70,6 @@ public class ParticleBase extends TextureSheetParticle { this.xd *= 1.1D; this.zd *= 1.1D; } - this.xd *= 0.96D; this.yd *= 0.96D; this.zd *= 0.96D; diff --git a/src/main/java/com/teammoeg/steampowered/client/SteamParticle.java b/src/main/java/com/teammoeg/steampowered/client/SteamParticle.java index 12574a3..65d663f 100644 --- a/src/main/java/com/teammoeg/steampowered/client/SteamParticle.java +++ b/src/main/java/com/teammoeg/steampowered/client/SteamParticle.java @@ -28,10 +28,10 @@ public class SteamParticle extends ParticleBase { public SteamParticle(ClientLevel world, double x, double y, double z, double motionX, double motionY, double motionZ) { super(world, x, y, z, motionX, motionY, motionZ); - this.gravity = -0.1F; - this.rCol = this.gCol = this.bCol = (float) (Math.random() * 0.4) + 0.4f; + this.gravity = -0.05F; + this.rCol = this.gCol = this.bCol = (float) (Math.random() * 0.2) + 0.8f; this.originalScale = 0.25F; - this.lifetime= (int) (12.0D / (Math.random() * 0.8D + 0.2D)); + this.lifetime= (int) (80.0D / (Math.random() * 0.2D + 0.8D)); } public static class Factory implements ParticleProvider { diff --git a/src/main/java/com/teammoeg/steampowered/content/boiler/BoilerBlock.java b/src/main/java/com/teammoeg/steampowered/content/boiler/BoilerBlock.java index ed2d89d..97a6f48 100644 --- a/src/main/java/com/teammoeg/steampowered/content/boiler/BoilerBlock.java +++ b/src/main/java/com/teammoeg/steampowered/content/boiler/BoilerBlock.java @@ -89,7 +89,7 @@ public abstract class BoilerBlock extends Block implements LiquidBlockContainer double d2 = p_180655_3_.getZ(); //if(p_180655_4_.nextDouble()<0.5D) { p_180655_2_.playLocalSound(d0, d1, d2, SoundEvents.FIRE_EXTINGUISH, SoundSource.BLOCKS, 0.25F, 0.25F, false); - int count=4; + int count=8; while(--count!=0) p_180655_2_.addParticle(Particles.STEAM.get(), d0+p_180655_4_.nextFloat(), d1, d2+p_180655_4_.nextFloat(), 0.0D, 0.0D, 0.0D); //} diff --git a/src/main/java/com/teammoeg/steampowered/content/engine/SteamEngineTileEntity.java b/src/main/java/com/teammoeg/steampowered/content/engine/SteamEngineTileEntity.java index 3d6af75..af1bf67 100644 --- a/src/main/java/com/teammoeg/steampowered/content/engine/SteamEngineTileEntity.java +++ b/src/main/java/com/teammoeg/steampowered/content/engine/SteamEngineTileEntity.java @@ -31,12 +31,10 @@ import net.minecraft.core.Direction; import net.minecraft.nbt.CompoundTag; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; -import net.minecraft.tags.TagKey; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.entity.BlockEntityType; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.material.Fluid; import net.minecraftforge.common.capabilities.Capability; import net.minecraftforge.common.util.LazyOptional; import net.minecraftforge.fluids.capability.CapabilityFluidHandler; @@ -70,28 +68,38 @@ public abstract class SteamEngineTileEntity extends EngineTileEntity implements if (level != null && !level.isClientSide) { BlockState state = this.level.getBlockState(this.worldPosition); if (this.poweredWheel == null || this.poweredWheel.isRemoved()) { - this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, false)); + + this.appliedCapacity = 0; + this.appliedSpeed = 0; this.refreshWheelSpeed(); heatup = 0; tank.drain(this.getSteamConsumptionPerTick(), IFluidHandler.FluidAction.EXECUTE); + this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, false)); } else { + if(heatup==0&&tank.getFluidAmount()<=this.getSteamConsumptionPerTick()*20) { + this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), 3); + this.setChanged(); + return; + } if (!tank.isEmpty() && tank.drain(this.getSteamConsumptionPerTick(), IFluidHandler.FluidAction.EXECUTE) .getAmount() >= this.getSteamConsumptionPerTick()) { - this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, true)); if (heatup >= 60) { this.appliedCapacity = this.getGeneratingCapacity(); this.appliedSpeed = this.getGeneratingSpeed(); this.refreshWheelSpeed(); } else heatup++; + this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, true)); } else { if (heatup > 0) heatup--; - this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, false)); + this.appliedCapacity = 0; this.appliedSpeed = 0; this.refreshWheelSpeed(); + this.level.setBlockAndUpdate(this.worldPosition, state.setValue(SteamEngineBlock.LIT, false)); } + } this.level.sendBlockUpdated(this.getBlockPos(), this.getBlockState(), this.getBlockState(), 3); this.setChanged(); diff --git a/src/main/resources/assets/steampowered/models/block/bronze_cogwheel.json b/src/main/resources/assets/steampowered/models/block/bronze_cogwheel.json index 43e701e..138ed15 100644 --- a/src/main/resources/assets/steampowered/models/block/bronze_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/bronze_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/bronze_cogwheel", "1_2": "steampowered:block/cogwheel/bronze_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/models/block/bronze_large_cogwheel.json b/src/main/resources/assets/steampowered/models/block/bronze_large_cogwheel.json index e3a11a0..b91cd1e 100644 --- a/src/main/resources/assets/steampowered/models/block/bronze_large_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/bronze_large_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/bronze_large_cogwheel", "4": "steampowered:block/cogwheel/bronze_large_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/models/block/cast_iron_cogwheel.json b/src/main/resources/assets/steampowered/models/block/cast_iron_cogwheel.json index 51ef36b..646ff27 100644 --- a/src/main/resources/assets/steampowered/models/block/cast_iron_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/cast_iron_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/cast_iron_cogwheel", "1_2": "steampowered:block/cogwheel/cast_iron_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/models/block/cast_iron_large_cogwheel.json b/src/main/resources/assets/steampowered/models/block/cast_iron_large_cogwheel.json index 0833cc3..bb63163 100644 --- a/src/main/resources/assets/steampowered/models/block/cast_iron_large_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/cast_iron_large_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/cast_iron_large_cogwheel", "4": "steampowered:block/cogwheel/cast_iron_large_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/models/block/steel_cogwheel.json b/src/main/resources/assets/steampowered/models/block/steel_cogwheel.json index 8ffaf96..b22fe76 100644 --- a/src/main/resources/assets/steampowered/models/block/steel_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/steel_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/steel_cogwheel", "1_2": "steampowered:block/cogwheel/steel_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/models/block/steel_large_cogwheel.json b/src/main/resources/assets/steampowered/models/block/steel_large_cogwheel.json index fa2fa50..8ab39ce 100644 --- a/src/main/resources/assets/steampowered/models/block/steel_large_cogwheel.json +++ b/src/main/resources/assets/steampowered/models/block/steel_large_cogwheel.json @@ -5,7 +5,7 @@ "textures": { "0": "create:block/axis", "3": "create:block/axis_top", - "particle": "block/stripped_spruce_log", + "particle": "steampowered:block/cogwheel/steel_large_cogwheel", "4": "steampowered:block/cogwheel/steel_large_cogwheel" }, "elements": [ diff --git a/src/main/resources/assets/steampowered/textures/particle/steam_0.png b/src/main/resources/assets/steampowered/textures/particle/steam_0.png index 8dc83cb..ac7f01a 100644 Binary files a/src/main/resources/assets/steampowered/textures/particle/steam_0.png and b/src/main/resources/assets/steampowered/textures/particle/steam_0.png differ diff --git a/src/main/resources/assets/steampowered/textures/particle/steam_1.png b/src/main/resources/assets/steampowered/textures/particle/steam_1.png index ccb9452..2f1c0cd 100644 Binary files a/src/main/resources/assets/steampowered/textures/particle/steam_1.png and b/src/main/resources/assets/steampowered/textures/particle/steam_1.png differ diff --git a/src/main/resources/assets/steampowered/textures/particle/steam_2.png b/src/main/resources/assets/steampowered/textures/particle/steam_2.png index 5815614..0a92b9c 100644 Binary files a/src/main/resources/assets/steampowered/textures/particle/steam_2.png and b/src/main/resources/assets/steampowered/textures/particle/steam_2.png differ diff --git a/src/main/resources/assets/steampowered/textures/particle/steam_3.png b/src/main/resources/assets/steampowered/textures/particle/steam_3.png index db93f73..bc3d0f7 100644 Binary files a/src/main/resources/assets/steampowered/textures/particle/steam_3.png and b/src/main/resources/assets/steampowered/textures/particle/steam_3.png differ