DREAMFIRE Docs ← Back to site
Loading...
Searching...
No Matches
DreamCore.java
Go to the documentation of this file.
1/*
2 * MIT License
3 *
4 * Copyright (c) 2025 Dreamfire Studio
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining a copy
7 * of this software and associated documentation files (the "Software"), to deal
8 * in the Software without restriction, including without limitation the rights
9 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10 * copies of the Software, and to permit persons to whom the Software is
11 * furnished to do so, subject to the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be included in all
14 * copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22 * SOFTWARE.
23 */
24package com.dreamfirestudios.dreamcore;
25
26import com.comphenix.protocol.ProtocolLibrary;
27import com.comphenix.protocol.ProtocolManager;
28import com.dreamfirestudios.dreamcore.DreamActionBar.DreamActionBar;
29import com.dreamfirestudios.dreamcore.DreamBlockMask.DreamBlockMask;
30import com.dreamfirestudios.dreamcore.DreamBook.DreamBook;
31import com.dreamfirestudios.dreamcore.DreamBossBar.DreamBossBar;
32import com.dreamfirestudios.dreamcore.DreamCam.DreamCamPath;
33import com.dreamfirestudios.dreamcore.DreamEnchantment.IDreamEnchantment;
34import com.dreamfirestudios.dreamcore.DreamEntityMask.DreamEntityMask;
35import com.dreamfirestudios.dreamcore.DreamFakeBlock.DreamFakeBlock;
36import com.dreamfirestudios.dreamcore.DreamHologram.DreamHologram;
37import com.dreamfirestudios.dreamcore.DreamItems.IDreamItemStack;
38import com.dreamfirestudios.dreamcore.DreamJava.DreamClassAPI;
39import com.dreamfirestudios.dreamcore.DreamLocationLimiter.DreamLocationLimiter;
40import com.dreamfirestudios.dreamcore.DreamLoop.IDreamLoop;
41import com.dreamfirestudios.dreamcore.DreamPlaceholder.DreamPlaceholderManager;
42import com.dreamfirestudios.dreamcore.DreamScoreboard.DreamScoreboard;
43import com.dreamfirestudios.dreamcore.DreamStopwatch.DreamStopwatch;
44import com.dreamfirestudios.dreamcore.DreamTeleport.DreamTeleport;
45import com.dreamfirestudios.dreamcore.DreamVanish.DreamVanish;
46import com.dreamfirestudios.dreamcore.DreamVariable.DreamVariableTest;
47import com.dreamfirestudios.dreamcore.DreamSmartInvs.SmartInvsPlugin;
48import com.dreamfirestudios.dreamcore.DreamWorld.DreamWorld;
49import net.luckperms.api.LuckPerms;
50import net.luckperms.api.LuckPermsProvider;
51import org.bukkit.conversations.Conversation;
52import org.bukkit.plugin.java.JavaPlugin;
53
54import java.util.ArrayList;
55import java.util.LinkedHashMap;
56import java.util.List;
57import java.util.UUID;
58
59public class DreamCore extends JavaPlugin {
60
61 public static DreamCore DreamCore;
62 public static LuckPerms LuckPerms;
67
68 public static final LinkedHashMap<UUID, DreamActionBar> DreamActionBars = new LinkedHashMap<>();
69 public static final LinkedHashMap<Class<?>, DreamVariableTest> DreamVariableTests = new LinkedHashMap<>();
70 public static final LinkedHashMap<UUID, DreamBook> DreamBooks = new LinkedHashMap<>();
71 public static final LinkedHashMap<UUID, DreamBossBar> DreamBossBars = new LinkedHashMap<>();
72 public static final LinkedHashMap<UUID, DreamBlockMask> DreamBlockMasks = new LinkedHashMap<>();
73 public static final LinkedHashMap<UUID, DreamCamPath> DreamCamPaths = new LinkedHashMap<>();
74 public static final ArrayList<IDreamEnchantment> IDreamEnchantments = new ArrayList<>();
75 public static final LinkedHashMap<UUID, List<UUID>> DreamVanishs = new LinkedHashMap<>();
76 public static final LinkedHashMap<UUID, DreamEntityMask> DreamEntityMasks = new LinkedHashMap<>();
77 public static final LinkedHashMap<String, DreamFakeBlock> DreamFakeBlocks = new LinkedHashMap<>();
78 public static final LinkedHashMap<UUID, DreamHologram> DreamHolograms = new LinkedHashMap<>();
79 public static final LinkedHashMap<UUID, DreamLocationLimiter> DreamLocationLimiters = new LinkedHashMap<>();
80 public static final LinkedHashMap<UUID, IDreamLoop> IDreamLoops = new LinkedHashMap<>();
81 public static final LinkedHashMap<UUID, Conversation> Conversations = new LinkedHashMap<>();
82 public static final LinkedHashMap<UUID, DreamScoreboard> DreamScoreboards = new LinkedHashMap<>();
83 public static final ArrayList<DreamStopwatch> DreamStopWatchs = new ArrayList<>();
84 public static final ArrayList<DreamTeleport> DreamTeleports = new ArrayList<>();
85 public static final LinkedHashMap<UUID, DreamWorld> DreamWorlds = new LinkedHashMap<>();
86 public static final ArrayList<IDreamItemStack> IDreamItemStacks = new ArrayList<>();
87
89
90 @Override
91 public void onEnable() {
92 DreamCore = this;
93 LuckPerms = LuckPermsProvider.get();
94 ProtocolManager = ProtocolLibrary.getProtocolManager();
95 DreamPlaceholderManager = new DreamPlaceholderManager("dreamcore", "Dreamfire Studios", "1.0.0");
97 DreamClassAPI.RegisterClasses(this);
98 }
99
100 @Override
101 public void onDisable() {
102 for(var blockMask : DreamBlockMasks.values().stream().toList()) blockMask.stop();
103 for(var dreamfireLoop : IDreamLoops.values().stream().toList()) dreamfireLoop.CancelLoop();
104 for(var dreamfireCamPath : DreamCamPaths.values().stream().toList()) dreamfireCamPath.onDisable();
105 for(var dreamfireEntityMask : DreamEntityMasks.values().stream().toList()) dreamfireEntityMask.stop();
106 for(var dreamfireHologram : DreamHolograms.values().stream().toList()) dreamfireHologram.deleteHologram();
107 }
108
109 public void OneTickClasses(){
110 DreamActionBars.values().removeIf(DreamActionBar::displayNextFrame);
111 for(var dreamfireBossBar : DreamBossBars.values()) dreamfireBossBar.displayNextFrame();
112 for(var dreamfireLocationLimiter : DreamLocationLimiters.values()) dreamfireLocationLimiter.tickLocationLimiter();
113 for(var dreamfireFakeBlock : DreamFakeBlocks.values()) dreamfireFakeBlock.displayNextFrame();
114 for(var dreamfireScoreBoard : DreamScoreboards.values()) dreamfireScoreBoard.displayNextFrame();
115 for(var dreamfireWorld : DreamWorlds.values()) dreamfireWorld.TickWorld();
116 }
117
118 public void TwentyTickClasses(){
119 DreamVanish.updateVanishOnAllPlayers();
120 for(var dreamfireBook : DreamBooks.values()) dreamfireBook.displayNextFrame();
121 for(var blockMask : DreamBlockMasks.values()) blockMask.displayNextFrame();
122 for(var dreamfireEntityMask : DreamEntityMasks.values()) dreamfireEntityMask.displayNextFrame();
123 for(var dreamfireHologram : DreamHolograms.values()) dreamfireHologram.displayNextFrame();
124 }
125
126
127}
static final LinkedHashMap< UUID, IDreamLoop > IDreamLoops
static final LinkedHashMap< UUID, DreamScoreboard > DreamScoreboards
static com.dreamfirestudios.dreamcore.DreamfireStorage.DreamfireStorageManager DreamfireStorageManager
static SmartInvsPlugin SmartInvsPlugin
static final LinkedHashMap< String, DreamFakeBlock > DreamFakeBlocks
static final LinkedHashMap< UUID, DreamBlockMask > DreamBlockMasks
static final LinkedHashMap< Class<?>, DreamVariableTest > DreamVariableTests
static final ArrayList< DreamTeleport > DreamTeleports
static final LinkedHashMap< UUID, DreamEntityMask > DreamEntityMasks
static DreamPlaceholderManager DreamPlaceholderManager
static final LinkedHashMap< UUID, Conversation > Conversations
static final LinkedHashMap< UUID, DreamBook > DreamBooks
static final LinkedHashMap< UUID, DreamHologram > DreamHolograms
static final LinkedHashMap< UUID, DreamWorld > DreamWorlds
static final LinkedHashMap< UUID, DreamLocationLimiter > DreamLocationLimiters
static final LinkedHashMap< UUID, List< UUID > > DreamVanishs
static ProtocolManager ProtocolManager
static com.dreamfirestudios.dreamcore.DreamfireStorage.DreamfireStorageManager GetDreamfireStorageManager()
static final ArrayList< DreamStopwatch > DreamStopWatchs
static final LinkedHashMap< UUID, DreamActionBar > DreamActionBars
static final ArrayList< IDreamEnchantment > IDreamEnchantments
static final ArrayList< IDreamItemStack > IDreamItemStacks
static final LinkedHashMap< UUID, DreamCamPath > DreamCamPaths
static final LinkedHashMap< UUID, DreamBossBar > DreamBossBars
Manages simple, plugin-scoped storage objects for both server-wide (global) and per-player contexts.