Skip to content

Commit

Permalink
0.4.4 fix option in autolavacaster
Browse files Browse the repository at this point in the history
**0.4.4**
-Removed the Timer checkbox in AutoMountain, still retaining the timer option. The default value is 1 so checkbox not really needed.
-Added an option to the EstimateLavaTimer in AutoLavacaster to allow you to choose the bottomY instead of it being chosen for you.
-Fixed the new estimation option in autolavacaster, made it actually do the thing.
*previous changelog note*
-Added a new option to AutoLavaCaster to automatically get an estimate of how long lava will take and it will use that for the lava timer. 
-If you are above Y64, the time is calculated based on the lava going down a 45 degree staircase at 20TPS all the way to sea level (Y64). 
-If below Y64, the time is calculated based on the lava going down a 45 degree staircase all the way to Y-60 (land level on default flatworld).
  • Loading branch information
etianl authored Mar 14, 2023
1 parent ae915e5 commit b5f4a4c
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 38 deletions.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ In no particular order
- **AutoDrop:** Drops the stack in your selected slot automatically, or you can choose a slot to dump. You can shift click your inventory items to slot one to dump your trash easily. (Credits to etianl :D)
- **AutoLavaCaster** Simple timer based bot for lavacasting. Aim at the top of the block you want to cast on and activate the module. It places lava, then after an amount of time removes the lava, places the water after a specified delay, removes it after a specified delay, it will build the mountain upward, tower you up and repeat. Position yourself on a block above and diagonally, mostly perpendicular from the targeted block for best results. Use the ".lavacalc" command to determine roughly how long lava will take to finish. (Credits to etianl :D)
- *AutoLavaCaster Notes:*
- The EstimateLavaTimer estimates lava time automatically based on a 45 degree staircase from your Y level down to sea level, or Y-60 if you are below sea level.
- The EstimateLavaTimer estimates lava time automatically based on a 45 degree staircase from your Y level down to sea level, or Y-60 if you are below sea level.
- You can also enable another option to choose the bottom Y level for EstimateLavaTimer
- The .castertimer Command tells you how long each cycle has been running for.
- The .lavacalc command gives you an approximation of how long lava will take to flow across a 45 degree staircase at 20TPS.
- Do not use Timer with this module.
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ yarn_mappings=1.19.3+build.3
loader_version=0.14.11

# Mod Properties
mod_version=0.4.3-1.19.3
mod_version=0.4.4-1.19.3
maven_group=pwn.noobs
archives_base_name=1trouser-streak

Expand Down
75 changes: 49 additions & 26 deletions src/main/java/pwn/noobs/trouserstreak/modules/AutoLavaCaster.java
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,21 @@ public class AutoLavaCaster extends Module {
.defaultValue(false)
.build()
);
private final Setting<Boolean> estlavatimebotY = sgTimer.add(new BoolSetting.Builder()
.name("ChooseBottomY")
.description("Estimates lava time automatically based on a 45 degree staircase from your Y level down to the Y level you choose.")
.defaultValue(false)
.visible(() -> estlavatime.get())
.build()
);
private final Setting<Integer> estbotY = sgTimer.add(new IntSetting.Builder()
.name("BottomYforEstimation")
.description("The bottom Y level the mountain should go to roughly")
.defaultValue(128)
.sliderRange(-64, 320)
.visible(() -> estlavatime.get() && estlavatimebotY.get())
.build()
);
private final Setting<Integer> lavatime = sgTimer.add(new IntSetting.Builder()
.name("LavaTimerInSeconds")
.description("The amount of time to let lava flow, in seconds. Use .lavacalc Command to get a suggested time. Based on 20ticks/second.")
Expand Down Expand Up @@ -171,11 +186,13 @@ public AutoLavaCaster() {
int layers;
@Override
public void onActivate() {
if (estlavatime.get()){
if (estlavatime.get() && !estlavatimebotY.get()){
if (mc.player.getBlockY()>64)
estimatedlavatime= (((mc.player.getBlockY()-64)*60)/20);
else if (mc.player.getBlockY()<=64)
estimatedlavatime= (((mc.player.getBlockY()-(-60))*60)/20);
} else if (estlavatime.get() && estlavatimebotY.get()){
estimatedlavatime= (((mc.player.getBlockY()-estbotY.get())*60)/20);
}
if (Modules.get().get(Timer.class).isActive()) {
error("Timer off.");
Expand Down Expand Up @@ -289,11 +306,13 @@ private void onPreTick(TickEvent.Pre event) {
}
}
else if (firstplace==false && ticks==40){
if (estlavatime.get()){
if (estlavatime.get() && !estlavatimebotY.get()){
if (mc.player.getBlockY()>64)
estimatedlavatime= (((mc.player.getBlockY()-64)*60)/20);
else if (mc.player.getBlockY()<=64)
estimatedlavatime= (((mc.player.getBlockY()-(-60))*60)/20);
} else if (estlavatime.get() && estlavatimebotY.get()){
estimatedlavatime= (((mc.player.getBlockY()-estbotY.get())*60)/20);
}
placeLava();
if (estlavatime.get()){
Expand All @@ -310,15 +329,15 @@ else if (MountainsOfLavaInc.get() && ticks==45 && layers>=layerstop.get()){
toggle();
return;
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || ticks==(lavatime.get()*20)){
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || !estlavatime.get() && ticks==(lavatime.get()*20)){
firstplace=false;
pickupLiquid();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get() || ticks==(lavatime.get()*20)+watertime1.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()){
placeWater();
ChatUtils.sendMsg(Text.of("Finishing layer "+layers));
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get() || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()){
pickupLiquid();
if (!incY.get()){
ticks=0;
Expand Down Expand Up @@ -366,17 +385,17 @@ else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+wat
}
}
if (incY.get()){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+5 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+5){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+5 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+5){
BlockPos pos = new BlockPos(lava.getX(),lava.getY()+1,lava.getZ());
if (mc.world.getBlockState(pos).getMaterial().isReplaceable()) {
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos), Direction.DOWN, pos, false));
mc.player.swingHand(Hand.MAIN_HAND);}
lava = cast();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+10 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+10){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+10 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+10){
mc.player.setPos(mc.player.getX(),mc.player.getY()+1,mc.player.getZ());
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+15 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+15){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+15 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+15){
BlockPos pos = mc.player.getBlockPos().add(new Vec3i(0,-1,0));
if (mc.world.getBlockState(pos).getMaterial().isReplaceable()) {
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos), Direction.DOWN, pos, false));
Expand Down Expand Up @@ -407,11 +426,13 @@ else if (layers==lay.get() && bstyle.get()){
}
}
else if (firstplace==false && ticks==40){
if (estlavatime.get()){
if (estlavatime.get() && !estlavatimebotY.get()){
if (mc.player.getBlockY()>64)
estimatedlavatime= (((mc.player.getBlockY()-64)*60)/20);
else if (mc.player.getBlockY()<=64)
estimatedlavatime= (((mc.player.getBlockY()-(-60))*60)/20);
} else if (estlavatime.get() && estlavatimebotY.get()){
estimatedlavatime= (((mc.player.getBlockY()-estbotY.get())*60)/20);
}
placeLava();
if (estlavatime.get()){
Expand All @@ -428,15 +449,15 @@ else if (MountainsOfLavaInc.get() && ticks==45 && layers>=layerstop.get()+1){
toggle();
return;
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || ticks==(lavatime.get()*20)){
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || !estlavatime.get() && ticks==(lavatime.get()*20)){
firstplace=false;
pickupLiquid();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get() || ticks==(lavatime.get()*20)+watertime1.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()){
placeWater();
ChatUtils.sendMsg(Text.of("Finishing layer "+layers));
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get() || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()){
pickupLiquid();
if (!incY.get()){
ticks=0;
Expand Down Expand Up @@ -483,7 +504,7 @@ else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+wat
}
}
}if (incY.get()){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+5 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+5){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+5 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+5){
BlockPos pos2 = new BlockPos(lava.getX()+1,lava.getY()+1,lava.getZ());
BlockPos pos3 = new BlockPos(lava.getX()-1,lava.getY()+1,lava.getZ());
BlockPos pos4 = new BlockPos(lava.getX(),lava.getY()+1,lava.getZ()+1);
Expand All @@ -495,22 +516,22 @@ else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+wat
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos5), Direction.DOWN, pos5, false));
mc.player.swingHand(Hand.MAIN_HAND);}
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+20 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+20){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+20 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+20){
mc.player.setPos(mc.player.getX(),mc.player.getY()+1,mc.player.getZ());
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+25 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+25){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+25 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+25){
BlockPos pos1 = new BlockPos(lava.getX(),lava.getY()+1,lava.getZ());
if (mc.world.getBlockState(pos1).getMaterial().isReplaceable()){
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos1), Direction.DOWN, pos1, false));
mc.player.swingHand(Hand.MAIN_HAND);
}
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+26 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+26){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+26 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+26){
if (mc.player.getPitch()>=5){
mc.player.setPitch(mc.player.getPitch()-5);}
lava = cast();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+30 || ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+30){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime1.get()+waterdelay.get()+30 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime1.get()+waterdelay.get()+30){
BlockPos pos = mc.player.getBlockPos().add(new Vec3i(0,-1,0));
if (mc.world.getBlockState(pos).getMaterial().isReplaceable()) {
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos), Direction.DOWN, pos, false));
Expand All @@ -536,11 +557,13 @@ else if (layers>lay.get() && bstyle.get()){
}
}
else if (firstplace==false && ticks==40){
if (estlavatime.get()){
if (estlavatime.get() && !estlavatimebotY.get()){
if (mc.player.getBlockY()>64)
estimatedlavatime= (((mc.player.getBlockY()-64)*60)/20);
else if (mc.player.getBlockY()<=64)
estimatedlavatime= (((mc.player.getBlockY()-(-60))*60)/20);
} else if (estlavatime.get() && estlavatimebotY.get()){
estimatedlavatime= (((mc.player.getBlockY()-estbotY.get())*60)/20);
}
placeLava();
if (estlavatime.get()){
Expand All @@ -557,15 +580,15 @@ else if (MountainsOfLavaInc.get() && ticks==45 && layers>=layerstop.get()+1){
toggle();
return;
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || ticks==(lavatime.get()*20)){
else if (estlavatime.get() && ticks==(estimatedlavatime*20) || !estlavatime.get() && ticks==(lavatime.get()*20)){
firstplace=false;
pickupLiquid();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get() || ticks==(lavatime.get()*20)+watertime2.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()){
placeWater();
ChatUtils.sendMsg(Text.of("Finishing layer "+layers));
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get() || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get() || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()){
pickupLiquid();
if (!incY.get()){
ticks=0;
Expand Down Expand Up @@ -612,7 +635,7 @@ else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+wat
}
}
}if (incY.get()){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+5 || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+5){
if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+5 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+5){
BlockPos pos2 = new BlockPos(lava.getX()+1,lava.getY()+1,lava.getZ());
BlockPos pos3 = new BlockPos(lava.getX()-1,lava.getY()+1,lava.getZ());
BlockPos pos4 = new BlockPos(lava.getX(),lava.getY()+1,lava.getZ()+1);
Expand All @@ -624,22 +647,22 @@ else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+wat
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos5), Direction.DOWN, pos5, false));
mc.player.swingHand(Hand.MAIN_HAND);}
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+20 || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+20){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+20 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+20){
mc.player.setPos(mc.player.getX(),mc.player.getY()+1,mc.player.getZ());
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+25 || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+25){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+25 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+25){
BlockPos pos1 = new BlockPos(lava.getX(),lava.getY()+1,lava.getZ());
if (mc.world.getBlockState(pos1).getMaterial().isReplaceable()){
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos1), Direction.DOWN, pos1, false));
mc.player.swingHand(Hand.MAIN_HAND);
}
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+26 || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+26){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+26 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+26){
if (mc.player.getPitch()>=5){
mc.player.setPitch(mc.player.getPitch()-5);}
lava = cast();
}
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+30 || ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+30){
else if (estlavatime.get() && ticks==(estimatedlavatime*20)+watertime2.get()+waterdelay.get()+30 || !estlavatime.get() && ticks==(lavatime.get()*20)+watertime2.get()+waterdelay.get()+30){
BlockPos pos = mc.player.getBlockPos().add(new Vec3i(0,-1,0));
if (mc.world.getBlockState(pos).getMaterial().isReplaceable()) {
mc.interactionManager.interactBlock(mc.player, Hand.MAIN_HAND, new BlockHitResult(Vec3d.of(pos), Direction.DOWN, pos, false));
Expand Down
Loading

0 comments on commit b5f4a4c

Please sign in to comment.