Начинающий
- Статус
- Оффлайн
- Регистрация
- 11 Дек 2024
- Сообщения
- 107
- Реакции
- 0
- Выберите загрузчик игры
- Прочие моды
Видел тему https://yougame.biz/threads/348932/ , в итоге ничего чел так и не слил . Так что вот мой код ( чат лгбт solutions )
В коде фулл вырезан режим с двумя майнами . Так что настройку mode можете убрать
UPD : Есть ошибка если у вас первые корды будут начинаться с минуса то ничего не заприватиться , кто захочет тот пофиксит
Если много кому зайдет и нужно будет , залью фулл код с 2 майнами
В коде фулл вырезан режим с двумя майнами . Так что настройку mode можете убрать
RegionExploit:
package im.expensive.functions.impl.player;
import im.expensive.functions.api.Category;
import im.expensive.functions.api.Function;
import im.expensive.functions.api.FunctionRegister;
import im.expensive.functions.settings.impl.ModeSetting;
import im.expensive.functions.settings.impl.SliderSetting;
import im.expensive.functions.settings.impl.StringSetting;
import java.util.Random;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
@FunctionRegister(name="RegionExploit",type=Category.Player)
public class RegionExploit extends Function {
private final ModeSetting mode=new ModeSetting("Режим работы","Одиночный","Одиночный","2 клиента");
private final StringSetting onecoords=new StringSetting("Введите первые координаты","","Укажите первые координаты привата",false).setVisible(()->mode.is("Одиночный"));
private final StringSetting twocoords=new StringSetting("Введите вторые координаты","","Укажите вторые координаты привата",false).setVisible(()->mode.is("Одиночный"));
private final SliderSetting radiusup=new SliderSetting("Высота привата вверх",10f,5f,256f,1f).setVisible(()->mode.is("Одиночный"));
private final SliderSetting radiusdown=new SliderSetting("Высота привата вниз",10f,5f,256f,1f).setVisible(()->mode.is("Одиночный"));
private final StringSetting team=new StringSetting("Введите никнейм","ha1zendev","Введите никнейм для добавления в регион",false).setVisible(()->mode.is("Одиночный"));
private String formattedOneCoords;
private String formattedTwoCoords;
private String regionname;
private ScheduledExecutorService scheduler;
public RegionExploit() {
addSettings(mode,onecoords,twocoords,radiusup,radiusdown,team);
}
public String formatCoordinates(String coordinates) {
if (coordinates==null||coordinates.isEmpty()) {
return "";
}
String[] parts=coordinates.split(" ");
StringBuilder formattedCoordinates=new StringBuilder();
for (int i=0;i<parts.length;i++) {
if (!parts[i].isEmpty()) {
formattedCoordinates.append(parts[i]);
if (i<parts.length-1&&!parts[i+1].isEmpty()) {
formattedCoordinates.append(",");
}
}
}
return formattedCoordinates.toString();
}
public void generateRegionName() {
Random random=new Random();
int randomNumber=random.nextInt(1945)+1;
regionname="nicolas"+randomNumber+"honey";
}
[USER=1367676]@override[/USER]
public boolean onEnable() {
generateRegionName();
String oneCoords=onecoords.get().trim();
String twoCoords=twocoords.get().trim();
if (!isValidCoordinates(oneCoords)||!isValidCoordinates(twoCoords)) {
print("Координаты должны состоять из трех чисел разделенных пробелами включая отрицательные значения.");
this.onDisable();
return false;
}
formattedOneCoords=formatCoordinates(oneCoords);
formattedTwoCoords=formatCoordinates(twoCoords);
scheduler=Executors.newScheduledThreadPool(1);
privateRegion();
return true;
}
private boolean isValidCoordinates(String coordinates) {
String[] parts=coordinates.split(" ");
if (parts.length!=3) {
return false;
}
try {
Double.parseDouble(parts[0]);
Double.parseDouble(parts[1]);
Double.parseDouble(parts[2]);
return true;
} catch (NumberFormatException e) {
return false;
}
}
public void privateRegion() {
scheduler.schedule(()->{
mc.player.sendChatMessage("//pos1 "+formattedOneCoords);
print("Первая точка установлена на "+formattedOneCoords);
},0,TimeUnit.SECONDS);
scheduler.schedule(()->{
mc.player.sendChatMessage("//pos2 "+formattedTwoCoords);
print("Вторая точка установлена на "+formattedTwoCoords);
},3,TimeUnit.SECONDS);
scheduler.schedule(()->{
mc.player.sendChatMessage("//expand "+Math.round(radiusup.get())+" up");
print("Регион увеличен на "+Math.round(radiusup.get())+" блоков вверх");
},6,TimeUnit.SECONDS);
scheduler.schedule(()->{
mc.player.sendChatMessage("//expand "+Math.round(radiusdown.get())+" down");
print("Регион увеличен на "+Math.round(radiusdown.get())+" блоков вниз");
},9,TimeUnit.SECONDS);
scheduler.schedule(()->{
mc.player.sendChatMessage("/rg claim "+regionname);
print("Регион "+regionname+" создан");
},12,TimeUnit.SECONDS);
scheduler.schedule(()->{
mc.player.sendChatMessage("/rg addowner "+regionname+" "+team.get());
print("Добавил в овнеры региона "+team.get());
onDisable();
},20,TimeUnit.SECONDS);
}
[USER=1367676]@override[/USER]
public void onDisable() {
if (scheduler!=null) {
scheduler.shutdownNow();
scheduler=null;
}
}
}
UPD : Есть ошибка если у вас первые корды будут начинаться с минуса то ничего не заприватиться , кто захочет тот пофиксит
Если много кому зайдет и нужно будет , залью фулл код с 2 майнами
Последнее редактирование: