import java.lang.reflect.Array; //导入方法依赖的package包/类
@Override
protected void onClientTick(EntityPlayerSP player) {
modCheatAllowed = ZHandle.handle("allowCheats", true);
if (getGamma() < 100f) cheatGamma = getGamma();
setGamma((cheating && cheatHighlight && (!isInMenu() || getMenu() instanceof GuiChat || getMenu() instanceof GuiContainer)) ? 1000f : cheatGamma);
boolean enable = optNerfEnderman && !isMultiplayer();
if (enable != cheatCarryOverride)
try {
cheatCarryOverride = enable;
Object arr = getValue(fCarryBlocks, null);
if (cheatCarryBlocks == null) {
cheatCarryBlocks = new boolean[256];
for (int i=0;i<256;i++) cheatCarryBlocks[i] = Array.getBoolean(arr, i);
}
for (int i=0;i<256;i++) Array.setBoolean(arr, i, !enable && cheatCarryBlocks[i]);
} catch (Exception e) {}
if (!isInMenu() && wasKeyPressedThisTick(keyCheat)) {
cheating = !cheating;
if (!modCheatAllowed && cheating) {
cheating = false;
chatClient("\u00a74zombe's \u00a72cheat\u00a74-mod is not allowed on this server.");
}
}
if (!cheating) return;
if (!isInMenu()) {
if (wasKeyPressedThisTick(keyShowMobs)) cheatShowMobs = !cheatShowMobs;
if (wasKeyPressedThisTick(keyShowOres)) cheatShowOres = !cheatShowOres;
if (wasKeyPressedThisTick(keyHighlight)) cheatHighlight = !cheatHighlight;
if (wasKeyPressedThisTick(keyHealth)) optRestoreHealth = !optRestoreHealth;
if (wasKeyPressedThisTick(keyDamage)) optDisableDamage = !optDisableDamage;
if (optSeeIsToggle) {
if (wasKeyPressedThisTick(keySee)) cheatSee = !cheatSee;
} else cheatSee = isKeyDownThisTick(keySee);
if (!isMultiplayer() && wasKeyPressedThisTick(keyRemoveFire)) {
BlockPos pos = getPos(getView());
int x = getX(pos), y = getY(pos), z = getZ(pos);
World world = getWorld();
for (int dx = -16; dx <= 16; ++dx)
for (int dy = -16; dy <= 16; ++dy)
for (int dz = -16; dz <= 16; ++dz)
if (getIdAt(world,x+dx,y+dy,z+dz) == 51)
setIdAt(world,0,MARK_BOTH,x+dx,y+dy,z+dz);
}
}
if (!isMultiplayer()) {
/*
if (!optCheatFallDamage) setFall(player, 0f);
boolean arrowChk = true;
if (optCheatInfArrows || optCheatInfArmor || optCheatInfSword || optCheatInfTools)
for (int slot=0;slot
if (invItemsArr[slot] != null) {
ItemStack items = invItemsArr[slot];
int id = getItemsId(items);
if (id < 256 || id >= cheatItems) continue;
if (optCheatInfArrows && id==262 && arrowChk) {
arrowChk = false;
int count = getItemsCount(items);
if (cheatArrowCount - 1 == count) setItemsCount(items, ++count);
cheatArrowCount = count;
} else if (cheatDamage[id]) setItemsInfo(items, 0);
}
if (optCheatInfArmor) for (int slot=0;slot
int id = getItemsId(invArmorsArr[slot]);
if (id < 256 || id >= cheatItems) continue;
if (cheatDamage[id]) setItemsInfo(invArmorsArr[slot], 0);
}
*/
}
}