Skip to content

Commit

Permalink
0.4.3 Moar mountain building updates, and misc changes
Browse files Browse the repository at this point in the history
**0.4.3**
**AutoMountain and Lavacasting Updates**
-Made AutoMountain only autoswap to a usable stack on activate if NOT activating paused.
-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).
-The .lavacalc command now grabs your character's Y level by default as the topY level if it isn't specified. When you do not specify bottom Y will be sea level if you are above sea level, or if below sea level bottom Y will be -60.
**NewerNewChunks Updates**
-NewerNewChunks Detections methods are now in a drop down menu in the options. Normal mode is just like the regular newchunks module.
-The IgnoreFlowBelow0  and Advanced mode options are for tracing servers that have new generation occuring below Y0 which will throw false positives in Normal detection mode.
-Normal detection mode on newchunks now also detects and logs chunks as having flow below 0 but marks them as "New" chunks. This is to make the data gathered consistent and to make colour switching work properly when the mode is changed.
-.newchunkcount command now tells you all chunks counted by default, no need to specify "AllChunks" anymore.
-.newchunkcount command tells you how many of each type of chunk has been detected by default now.
-fixed .newchunkcount returning 0 when newchunks off, but it still needs to be turned on atleast once for it to work in that world.
**Misc stuff/updates**
-removed Phase module. After much testing I can confirm it's not working. :(
-Copied in AutoSign from the sadly outdated MeteorTweaks to the TrouserStreak modpack. I DID NOT WRITE IT (just updated to new version), credits to the Meteor-Tweaks team. I missed this module.
***Notes***
- NewerNewChunks has to be turned on atleast once prior to running .newchunkcount for the counter to work.
- .newchunkcount command shows exactly the chunks that are saved in chunk data, so when you are in normal mode or flowbelowY0 mode the returned values are not exactly in correlation to what is rendered on screen.
  • Loading branch information
etianl authored Mar 13, 2023
1 parent dba3142 commit ae915e5
Show file tree
Hide file tree
Showing 10 changed files with 358 additions and 215 deletions.
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ 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 .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 All @@ -45,27 +46,27 @@ In no particular order
- JumpKey adjusts spacing of stairs according to the OnDemandSpacing value.
- Holding ForwardKey or BackKey then holding Left or RightKey as well builds stairs diagonally. Release left or right key first to continue building in the direction you were prior.
- **AutoStaircase:** Builds stairs upward in the direction you are facing by running forward and jumping. (Credits to etianl for bringing it to life! As well as Credits to Frostburn for writing the original. <3) I just had to fix up some stuff for this one but Frostburn had the base code there. I believe this is the first publicly available automatic staircase builder in a Meteor addon, correct me if I'm wrong maybe I didn't have to learn some Java to do this.
- **BetterAutoSign:** Automatically writes signs with the text you specify, and can also apply glow ink or dye. (Credits to Meteor-Tweaks)
- **BetterScaffold:** Give you more options for scaffolding, bigger range and others. (Credits to Meteor-Tweaks)
- **Boom+:** Throws entities or spawns them on the targeted block when you click (Credits to Allah-Hack) I just added some more fun things you might want to throw.
- **ExplosionAura:** Spawns creepers at your position as you move that explode instantly. Like a bigger, more laggy Nuker module for creative mode. The use of the module Velocity is recommended to avoid being thrown around. (Credits to etianl :D)
- **HandOfGod:** Runs the "/fill" command on the world around you in different ways as you fly, and as you click. Operator status required. (Credits to etianl :D)
- **Inventory Dupe (1.17):** Duplicates things in your crafting slots when the module is enabled and the Dupe button is pressed in your inventory. (Credit to ItsVen and Da0neDatGotAway for original creation of the dupe, and to B2H990 for making the fabric mod.)
- **InstaKill:** Shoots arrows and tridents with incredible power and velocity. Enabling multiple buttons causes the amount of packets to add up. (Credits to Saturn5Vfive)
- **LecternCrash:** Crash 1.18.X vanilla servers and possibly below. (Credits to Coderx-Gamer)
- **NewerNewChunks:** NewChunks module with the ability to save chunk data for later! Also with special options for tracing servers that have been updated from a version before the build limit updates. (Credits to Meteor Rejects, and BleachHack from where it was ported, and etianl for updating :D.)
- **NewerNewChunks:** NewChunks module with the ability to save chunk data for later! Also with special options for tracing servers that have been updated from a version before the build limit updates, which throw false positives normally. (Credits to Meteor Rejects, and BleachHack from where it was ported, and etianl for updating :D.)
- *NewerNewChunks Notes:*
- NewerNewChunks stores your NewChunks data as text files seperately per server and per dimension in the NewChunks folder in your Minecraft folder.
- Save and Load ChunkData options are for the stored files.
- This enables you to chunk trace multiple different servers and dimensions without mixing NewChunks data.
- If the game crashes, chunk data is saved! No loss in tracing progress.
- Send chunk data to your friends! Just copy the appropriate folder and send it.
- There is also an option for deleting chunk data in that particular dimension on the server.
- The .newchunkcount command can tell you how many total chunks have been saved in chunk data.
- The .newchunkcount command can tell you how many chunks have been saved in data in the dimension you are in.
- *NewerNewChunks Special Options:*
- The "IgnoreFlowBelow0" does not show a new chunk if liquid flow is only below Y zero, but does show a newchunk if flow is above Y zero, or both above AND below Y zero.
- The "AdvancedMode" highlights chunks that have flow only below Y0. If there is nothing but these you are updating old chunks to the new build limits and the FlowIsBelowY0 coloured chunks are OLD. If they are mixed with newchunks the FlowIsBelowY0 coloured chunks are NEW.
- AdvancedMode can be confusing, do not use if you can't interpret the chunk data.
- **Phase:** Allows you to phase through blocks vertically, and through thin blocks horizontally such as doors and world border (Credits to Meteor-Rejects) Please add this back it's not too terrible.
- **RedstoneNuker:** It's just the regular Nuker module from Meteor client, customized for only breaking things that generate redstone signals. Also with included AutoTool. To keep you safer when placing lots of TNT. (Credits to Meteor Client for Nuker code, and AutoTool code inthere.)
- **ShulkerDupe:** Duplicates the contents of a shulker when pressing "Dupe" or "Dupe All" in the shulker menu. Only works on Vanilla, Forge, and Fabric servers 1.19 and below. Use multiconnect or viafabric (Credits to Allah-Hack, I just brought back the buttons, and make it dupe slot1 as well.)
- **Teleport:** Sets your position ontop of targeted block, within a possible reach of 64 blocks. Rarely can cause damage, be careful. ***EXPERIMENTAL*** (Credits to etianl :D)
Expand All @@ -90,6 +91,8 @@ In no particular order
- TPFly can hurt you once in a while on disable. I tried to prevent this. You also rubberband if going toward a block because it attempts to teleport you through it.
- Adjusting TPFly antikick values while flying can be deadly
- Normal Mode antikick for the velocity flight mode that I added can cause damage once in a while for an unknown reason.
- .newchunkcount command shows exactly the chunks that are saved in chunk data, so when you are in normal mode or flowbelowY0 mode the returned values are not exactly in correlation to what is rendered on screen.
- NewerNewChunks has to be turned on atleast once prior to running .newchunkcount for the counter to work.

## Requirements:
- Latest dev build of Meteor-Client if using 1.19.3 or the full build of Meteor-Client if using 1.19.2
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.2-1.19.3
mod_version=0.4.3-1.19.3
maven_group=pwn.noobs
archives_base_name=1trouser-streak

Expand Down
4 changes: 2 additions & 2 deletions src/main/java/pwn/noobs/trouserstreak/Trouser.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,10 @@ public void onInitialize() {
Modules.get().add(new InvDupeModule());
Modules.get().add(new NewerNewChunks());
Modules.get().add(new InstantKill());
Modules.get().add(new LecternCrash());
Modules.get().add(new Teleport());
Modules.get().add(new BetterScaffold());
Modules.get().add(new BetterAutoSign());
Modules.get().add(new AutoBuild());
Modules.get().add(new AirstrikePlus());
Modules.get().add(new BoomPlus());
Expand All @@ -38,9 +40,7 @@ public void onInitialize() {
Modules.get().add(new RedstoneNuker());
Modules.get().add(new TPFly());
Modules.get().add(new AutoDrop());
Modules.get().add(new Phase());
Modules.get().add(new TrouserFlight());
Modules.get().add(new LecternCrash());
Modules.get().add(new AnHero());
Commands.get().add(new LavaTimeCalculator());
Commands.get().add(new CasterTimer());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,22 +16,39 @@ public LavaTimeCalculator() {

@Override
public void build(LiteralArgumentBuilder<CommandSource> builder) {
builder.executes(ctx -> {
if (mc.player.getBlockY()>64) {
float TopY = mc.player.getBlockY();
float time = (((TopY - 64) * 60) / 20);

ChatUtils.sendMsg(Text.of("Lava will take " + time + " seconds to go from your elevation (Y" + TopY + ") to Y64(sea level) on a 45degree staircase at 20TPS)."));
} else if (mc.player.getBlockY()<=64) {
float TopY = mc.player.getBlockY();
float time = (((TopY - (-60)) * 60) / 20);

ChatUtils.sendMsg(Text.of("Lava will take " + time + " seconds to go from your elevation (Y" + TopY + ") to Y-60(Bottom of the world) on a 45degree staircase at 20TPS)."));
}
return SINGLE_SUCCESS;
});
builder.then(argument("TopY", FloatArgumentType.floatArg()).executes(ctx -> {
float TopY = FloatArgumentType.getFloat(ctx, "TopY");
float time = (((TopY-64)*60)/20);

if (mc.player.getBlockY()>64) {
float TopY = FloatArgumentType.getFloat(ctx, "TopY");
float time = (((TopY - 64) * 60) / 20);

ChatUtils.sendMsg(Text.of("Lava will take " + time + " seconds to go from Y" + TopY + " to Y64(sea level) on a 45degree staircase at 20TPS)."));
} else if (mc.player.getBlockY()<=64) {
float TopY = FloatArgumentType.getFloat(ctx, "TopY");
float time = (((TopY - (-60)) * 60) / 20);

ChatUtils.sendMsg(Text.of("Lava will take "+time+" seconds to go from Y"+TopY+" to Y64(sea level) on a 45degree staircase at 20TPS)."));
ChatUtils.sendMsg(Text.of("Lava will take " + time + " seconds to go from Y" + TopY + " to Y-60(Bottom of the world) on a 45degree staircase at 20TPS)."));
}
return SINGLE_SUCCESS;
}));
builder.then(argument("TopY", FloatArgumentType.floatArg()).then(argument("BottomY",FloatArgumentType.floatArg()).executes(ctx -> {
float TopY = FloatArgumentType.getFloat(ctx, "TopY");
float BottomY = FloatArgumentType.getFloat(ctx, "BottomY");
float time = (((TopY-BottomY)*60)/20);



ChatUtils.sendMsg(Text.of("Lava will take "+time+" seconds to go from Y"+TopY+" to Y"+BottomY+" on a 45degree staircase at 20TPS)."));
return SINGLE_SUCCESS;
})));
Expand Down
21 changes: 10 additions & 11 deletions src/main/java/pwn/noobs/trouserstreak/commands/NewChunkCounter.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,37 +15,36 @@ public NewChunkCounter() {
}
@Override
public void build(LiteralArgumentBuilder<CommandSource> builder) {
NewerNewChunks n=new NewerNewChunks();
builder.then(literal("NewChunks").executes(ctx -> {
NewerNewChunks n=new NewerNewChunks();
n.chunkcounterticks=0;
n.chunkcounter=true;
int chunks = n.newchunksfound;
ChatUtils.sendMsg(Text.of(chunks+" NewChunk locations have been saved by NewerNewChunks. :D"));
ChatUtils.sendMsg(Text.of(chunks+" NewChunk locations have been saved by NewerNewChunks in this dimension."));
return SINGLE_SUCCESS;
}));
builder.then(literal("OldChunks").executes(ctx -> {
NewerNewChunks n=new NewerNewChunks();
n.chunkcounterticks=0;
n.chunkcounter=true;
int chunks = n.oldchunksfound;
ChatUtils.sendMsg(Text.of(chunks+" OldChunk locations have been saved by NewerNewChunks. :D"));
ChatUtils.sendMsg(Text.of(chunks+" OldChunk locations have been saved by NewerNewChunks in this dimension."));
return SINGLE_SUCCESS;
}));
builder.then(literal("FlowBelowY0Chunks").executes(ctx -> {
NewerNewChunks n=new NewerNewChunks();
n.chunkcounterticks=0;
n.chunkcounter=true;
int chunks = n.olderoldchunksfound;
ChatUtils.sendMsg(Text.of(chunks+" FlowBelowY0Chunk locations have been saved by NewerNewChunks. :D"));
ChatUtils.sendMsg(Text.of(chunks+" FlowBelowY0Chunk locations have been saved by NewerNewChunks in this dimension."));
return SINGLE_SUCCESS;
}));
builder.then(literal("AllChunks").executes(ctx -> {
NewerNewChunks n=new NewerNewChunks();
builder.executes(ctx -> {
n.chunkcounterticks=0;
n.chunkcounter=true;
int chunks = n.olderoldchunksfound+n.oldchunksfound+n.newchunksfound;
ChatUtils.sendMsg(Text.of(chunks+" Total Chunk locations have been saved by NewerNewChunks. :D"));
int chunks1 = n.newchunksfound;
int chunks2 = n.olderoldchunksfound;
int chunks3 = n.oldchunksfound;
ChatUtils.sendMsg(Text.of("New: "+chunks1+" | FlowBelowY=0: "+chunks2+" | Old: "+chunks3+" | Chunk locations have been saved by NewerNewChunks in this dimension."));
return SINGLE_SUCCESS;
}));
});
}
}
Loading

0 comments on commit ae915e5

Please sign in to comment.