diff options
| author | NotAPenguin <michiel.vandeginste@gmail.com> | 2024-09-02 23:17:17 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-02 23:17:17 +0200 |
| commit | 1b820de08a05070909a267e17f033fcf58ac8710 (patch) | |
| tree | 02831a025986a06b20f87e5bcc69d1e0c639a342 /src/main/java/detrav/commands | |
| parent | afd3fd92b6a6ab9ab0d0dc3214e6bc8ff7a86c9b (diff) | |
| download | GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.gz GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.tar.bz2 GT5-Unofficial-1b820de08a05070909a267e17f033fcf58ac8710.zip | |
The Great Renaming (#3014)
* move kekztech to a single root dir
* move detrav to a single root dir
* move gtnh-lanthanides to a single root dir
* move tectech and delete some gross reflection in gt++
* remove more reflection inside gt5u
* delete more reflection in gt++
* fix imports
* move bartworks and bwcrossmod
* fix proxies
* move galactigreg and ggfab
* move gtneioreplugin
* try to fix gt++ bee loader
* apply the rename rules to BW
* apply rename rules to bwcrossmod
* apply rename rules to detrav scanner mod
* apply rename rules to galacticgreg
* apply rename rules to ggfab
* apply rename rules to goodgenerator
* apply rename rules to gtnh-lanthanides
* apply rename rules to gt++
* apply rename rules to kekztech
* apply rename rules to kubatech
* apply rename rules to tectech
* apply rename rules to gt
apply the rename rules to gt
* fix tt import
* fix mui hopefully
* fix coremod except intergalactic
* rename assline recipe class
* fix a class name i stumbled on
* rename StructureUtility to GTStructureUtility to prevent conflict with structurelib
* temporary rename of GTTooltipDataCache to old name
* fix gt client/server proxy names
Diffstat (limited to 'src/main/java/detrav/commands')
| -rw-r--r-- | src/main/java/detrav/commands/DetravScannerCommand.java | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/src/main/java/detrav/commands/DetravScannerCommand.java b/src/main/java/detrav/commands/DetravScannerCommand.java new file mode 100644 index 0000000000..76c6673be1 --- /dev/null +++ b/src/main/java/detrav/commands/DetravScannerCommand.java @@ -0,0 +1,158 @@ +package detrav.commands; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import net.minecraft.block.Block; +import net.minecraft.command.ICommand; +import net.minecraft.command.ICommandSender; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.ChunkCoordinates; +import net.minecraft.world.chunk.Chunk; + +import gregtech.api.GregTechAPI; +import gregtech.api.enums.Materials; +import gregtech.api.util.GTLanguageManager; +import gregtech.common.blocks.TileEntityOres; + +/** + * Created by wital_000 on 17.03.2016. + */ +public class DetravScannerCommand implements ICommand { + + private List aliases; + + public DetravScannerCommand() { + this.aliases = new ArrayList<String>(); + this.aliases.add("DetravScanner"); + this.aliases.add("dscan"); + } + + @Override + public String getCommandName() { + return "DetravScanner"; + } + + @Override + public String getCommandUsage(ICommandSender sender) { + return "DetravScanner [\"Part of Greg ore name\"]"; + } + + @Override + public List getCommandAliases() { + return this.aliases; + } + + @Override + public void processCommand(ICommandSender sender, String[] args) { + int aX = 0; + int aZ = 0; + int aY = 0; + String name = null; + + ArrayList<String> strs = new ArrayList<>(); + for (int i = 0; i < args.length; i++) { + strs.add(args[i]); + if (args[i].startsWith("\"")) { + for (i++; i < args.length; i++) { + String temp = (String) strs.get(strs.size() - 1); + temp = temp + " " + args[i]; + temp = temp.replace("\"", ""); + strs.set(strs.size() - 1, temp); + if (args[i].endsWith("\"")) break; + } + } + } + args = new String[strs.size()]; + args = strs.toArray(args); + + switch (args.length) { + case 0: + break; + case 1: + if (args[0].toLowerCase() == "help") { + sendHelpMessage(sender); + return; + } + name = args[0]; + break; + default: + sendHelpMessage(sender); + return; + } + ChunkCoordinates c = sender.getPlayerCoordinates(); + if (name != null) name = name.toLowerCase(); + process(sender, (int) Math.floor(c.posX / 16.0), (int) Math.floor(c.posZ / 16.0), name); + } + + private void process(ICommandSender sender, int aX, int aZ, String fName) { + Chunk c = sender.getEntityWorld() + .getChunkFromChunkCoords(aX, aZ); + if (c == null) sender.addChatMessage(new ChatComponentText("ERROR")); + HashMap<String, Integer> ores = new HashMap<>(); + for (int x = 0; x < 16; x++) for (int z = 0; z < 16; z++) { + int ySize = c.getHeightValue(x, z); + for (int y = 1; y < ySize; y++) { + Block b = c.getBlock(x, y, z); + if (b == GregTechAPI.sBlockOres1) { + TileEntity entity = c.getTileEntityUnsafe(x, y, z); + if (entity != null) { + TileEntityOres gt_entity = (TileEntityOres) entity; + short meta = gt_entity.getMetaData(); + String name = Materials.getLocalizedNameForItem( + GTLanguageManager.getTranslation(b.getUnlocalizedName() + "." + meta + ".name"), + meta % 1000); + if (name.startsWith("Small")) continue; + if (fName == null || name.toLowerCase() + .contains(fName)) { + if (!ores.containsKey(name)) ores.put(name, 1); + else { + int val = ores.get(name); + ores.put(name, val + 1); + } + } + } + } + } + + } + sender.addChatMessage(new ChatComponentText("*** Detrav Scanner Begin")); + for (String key : ores.keySet()) { + sender.addChatMessage(new ChatComponentText(String.format("%s : %d", key, ores.get(key)))); + } + sender.addChatMessage(new ChatComponentText("*** Detrav Scanner End")); + } + + private void sendHelpMessage(ICommandSender sender) { + sender.addChatMessage(new ChatComponentText(getCommandUsage(sender))); + } + + @Override + public boolean canCommandSenderUseCommand(ICommandSender p_71519_1_) { + return true; + } + + @Override + public List addTabCompletionOptions(ICommandSender sender, String[] args) { + if (args.length != 1) return null; + if ("help".startsWith(args[0].toLowerCase())) { + List result = new ArrayList(); + result.add("help"); + sendHelpMessage(sender); + return result; + } + return null; + } + + @Override + public boolean isUsernameIndex(String[] p_82358_1_, int p_82358_2_) { + return false; + } + + @Override + public int compareTo(Object o) { + return 0; + } +} |
